summaryrefslogtreecommitdiffstats
path: root/src/fortranscanner.l
Commit message (Collapse)AuthorAgeFilesLines
* Problem with Fortran, giving a warning about invalid statealbert-github2021-04-231-0/+1
| | | | | | | | | | | | | | | | | Fortran gives a warning like ``` Error in file .../mic_lib.f90 line: 15, state: 4(SubprogBody) ``` This happens after the upade: ``` Commit: 592aaa4f17d73ec8c475df0f44efaea8cc4d575c [592aaa4] Date: Sunday, April 11, 2021 9:22:59 PM Commit Date: Thursday, April 22, 2021 7:34:13 PM Refactoring: remove implicit conversion from QCString to const char * ``` Looks like an initialization that was previously done automatic doesn't happen anymore. (Problem found by Fossies in openmpi, gcc, fimex).
* Refactoring: remove implicit conversion from QCString to const char *Dimitri van Heesch2021-04-221-55/+52
| | | | | | | | | | | | | | | | | This commit changes the following in relation to string use - The implicit convert from 'QCString' to 'const char *' is removed - Strings parameters use 'const QCString &' as much as possible in favor over 'const char *' - 'if (s)' where s is a QCString has been replaced by 'if(!s.isEmpty())' - data() now always returns a valid C-string and not a 0-pointer. - when passing a string 's' to printf and related functions 'qPrint(s)' is used instead of 's.data()' - for empty string arguments 'QCString()' is used instead of '0' - The copy() operation has been removed - Where possible 'qstrcmp(a,b)==0' has been replaces by 'a==b' and 'qstrcmp(a,b)<0' has been replaced by 'a<b' - Parameters of string type that were default initialized with '= 0' are no initialized with '= QCString()'
* Refactoring: replace QMIN/QMAX by std::min/std::maxDimitri van Heesch2021-03-261-1/+1
|
* Refactoring: replace QGString by std::ostringstreamDimitri van Heesch2021-03-231-5/+5
|
* Refactoring: replace QFile/FTextStream with fstream/stringstreamDimitri van Heesch2021-03-181-6/+4
|
* Merge branch 'master' into feature/bug_lexDimitri van Heesch2021-03-031-2/+2
|\
| * Refactoring: replace QRegExp by std::regex in fortranscanner.lDimitri van Heesch2021-02-201-2/+2
| |
* | Adding support for lex filesalbert-github2021-02-181-1/+2
|/ | | | | - Correct handling of C comment start and end tokens as well as Cpp comment start in rules. These tokes can give "Reached end of file while still inside a (nested) comment..." - Correct other warnings in respect to lex files
* Refactoring: cleanup unused qtools headersDimitri van Heesch2021-01-221-3/+0
|
* Refactoring: replace QList<CommentInPrepass> by std::vectorDimitri van Heesch2021-01-221-153/+152
|
* Refactoring: replace QMap with std::map in fortranscanner.lDimitri van Heesch2020-11-291-29/+30
|
* Doxygen crashes on Fortranalbert-github2020-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | When having a Fortran file like: ``` !> module docu MODULE test_mod INTERFACE !> @brief iets SUBROUTINE subr_i(this) INTEGER this END SUBROUTINE subr_i END INTERFACE !< @brief type brief TYPE, PUBLIC :: test_type !> docu integer i END TYPE test_type END MODULE test_mod ``` this is due to the fact that a incorrect start of comment `!<` is used for the `TYPE` and that initiated because the last `SUBROUTINE` argument does not have any documentation. The actual cause is that at the end of a subroutine the `vtype` is not properly reset.
* Incorrect duplicate code for Fortran fixed/free recognitionalbert-github2020-09-151-43/+0
| | | | There were 2 routines to recognize whether Fortran code was Fixed of Free format code, though the version in `commentcnv.l` didn't take the settings of `EXTENSION_MAPPING` into account which might lead to incorrect recognition of the format, this has been corrected.
* Refactoring: making fortrancode.l reentrantDimitri van Heesch2020-09-101-0/+3
|
* More minor tweaksDimitri van Heesch2020-07-281-3/+1
|
* issue #7923 source line numbers in warnings output by parser are off by 1albert-github2020-07-271-1/+3
| | | | Explicit counting of the removed newlines at the beginning of a documenation block (markdown.cpp) so this number can be added to get a better line number in case of warnings.
* Merge pull request #7882 from albert-github/feature/bug_ftn_useDimitri van Heesch2020-07-161-0/+3
|\ | | | | Missing links in Fortran in case use statement with upper case characters in name
| * Missing links in Fortran in case use statement with upper case characters in ↵albert-github2020-06-291-0/+3
| | | | | | | | | | | | | | name Based on the question: https://stackoverflow.com/questions/62557644/automatic-link-to-fortran-classes-in-method-arguments-description-in-doxygen#62595302 The problem regarding the missing linking was checked and contrary to the idea that it was depending on the `ONLY` clause it was due to the fact that a conversion to lower case was missing.
* | Refactor: Modernize clang parser and make it run with multiple threadsDimitri van Heesch2020-07-161-2/+1
|/
* Refactor: modernize markdown and make it thread-safeDimitri van Heesch2020-06-161-3/+5
|
* Incorrect determination of fixed form Fortranalbert-github2020-03-251-2/+1
| | | | | | | | | | | | | | | | | When we have the following small example, we see that the word `subroutine` doesn't start in column 7 but in column 8. ``` subroutine expan() c2345678 " " lb " " " end ``` so the code is not converted from fixed form to free form Fortran and in the example (due to the odd number of double quoutes) result in: ``` ******************************************************************** Error in file D:/speeltuin/bug_ftn_quote/small.f line: 5, state: 22(String) ******************************************************************** ``` The condition regarding the column number was to restrictive.
* Fix not correctly formatted messagesMoritz 'Morty' Strübe2020-03-211-6/+6
|
* Enabled stricter compiler warnings and fixed all new warningsDimitri van Heesch2020-03-081-11/+11
|
* Fix compiler warnings on Windows (Visual Studio)Dimitri van Heesch2020-02-121-0/+3
|
* Move DocGroup inside CommentScanner instead of using a globalDimitri van Heesch2020-01-261-3/+3
|
* Cleanup unused/unwanted parser dependencies on code generatorDimitri van Heesch2020-01-261-1/+2
|
* Make VHDL parser reentrantDimitri van Heesch2020-01-031-2/+0
|
* Make fortranscanner.l reentrantDimitri van Heesch2020-01-011-1182/+1227
|
* Make commentscan.l reentrantDimitri van Heesch2019-12-301-3/+5
|
* Changed std::unique_ptr<Entry> to std::shared_ptr<Entry> at avoid use after ↵Dimitri van Heesch2019-12-081-49/+46
| | | | free issues
* Split language parser into "outline parser" and "code parser"Dimitri van Heesch2019-12-031-30/+6
|
* Remove bogus flex codeDimitri van Heesch2019-11-181-7/+0
|
* Fixed use of uninitialized pointer in preprocessorDimitri van Heesch2019-11-091-1/+1
|
* Spelling corrections for src directoryalbert-github2019-11-051-3/+3
| | | | | | | | Spelling corrections as found by codespell and in #561. Some reported problems were already fixed, others are fixed here, with some exceptions (a,o.): - "referenceby" in defgen.cpp as this is in the output and I cannot oversee the consequences (looks like none, but ...) - "HANGEUL_CHARSET" left as is as in some MS documentation is written: 'HANGUL_CHARSET: Also spelled "Hangeul". Specifies the Hangul Korean character set.' (https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmf/0d0b32ac-a836-4bd2-a112-b6000a1b4fc9).
* Replaced QList<BaseInfo> with std::vector<BaseInfo>Dimitri van Heesch2019-10-291-1/+1
|
* Changed ArgumentList to be an STL containerDimitri van Heesch2019-10-271-27/+24
|
* Merge pull request #7283 from luzpaz/typosDimitri van Heesch2019-10-091-1/+1
|\ | | | | Fix typos
| * Fix typosluz.paz2019-09-281-1/+1
| | | | | | | | | | | | Found via ``` codespell -q 3 -S *.js,*.po,./src/translator*,*.eps,./doc/changelog.doc -L ang,ans,attribs,ba,behaviour,classe,colour,german,iff,initialise,nam,nd,que,russian,statics,te,tim,uint ```
* | Use smartpointers to manage the lifetime of Entry objectsDimitri van Heesch2019-10-071-138/+102
|/
* Reduce the use of QString in favor of the more efficient QCStringDimitri van Heesch2019-09-211-1/+1
|
* Consistent way to show scanner statealbert-github2019-09-051-44/+1
| | | | | Create a consistent way to display the state mnemonics of the different scanners (analogous to the fortranscanner.l) Use an automatic procedure to generate the routine with the translation of the states to a string.
* Merge pull request #7202 from albert-github/feature/issue_7200Dimitri van Heesch2019-08-311-4/+44
|\ | | | | issue #7200 Fortran warning: type not declared or defined
| * issue #7200 Fortran warning: type not declared or definedalbert-github2019-08-151-4/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | problem in the statement: ``` type(log_handle_type), protected, save, & bind(c, name="LOG_HANDLE_one") & :: log_handle_one ``` is the fact that the "bind" attribute is not handled. - added handling of the bind attribute - extending the bind definition also with the single quote version.
* | Parsing `#` sign inserted by preprocessor in fixed Form Fortranalbert-github2019-08-301-0/+1
|/ | | | | | | | | | In Fortran a file that is included is replaced by the doxygen preprocessor by something like: `# 11 "<path>/<filename>" 2` when this is in fixed form Fortran and the `<path>/<filename>` is long it is possible that the closing double quote is beyond position 72 and thus not seen resulting in: ``` Error in file <path>/<filename> line: 73, state: 22(String) ``` this is caused as the `#` is not handled properly in prepassFixedForm. The `#` should be handled analogous to e.g. `C`.
* Merge branch 'feature/bug_endblock_msg' of ↵Dimitri van Heesch2019-08-041-1/+1
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_endblock_msg
| * Correction warning messagealbert-github2019-06-011-1/+1
| | | | | | | | Consistency
* | take doc group out of commentscan.lAdrian Negreanu2019-07-261-3/+3
|/ | | | Signed-off-by: Adrian Negreanu <groleo@gmail.com>
* Merge pull request #6931 from albert-github/feature/bug_ftn_typeDimitri van Heesch2019-05-071-1/+9
|\ | | | | Windows crash in case of incorrect end statement
| * Windows crash in case of incorrect end statementalbert-github2019-04-151-1/+9
| | | | | | | | Some Fortran compilers accept the END statement instead of the mandatory END TYPE. The code crashes on Windows as no correct END statement is found.
* | Improved const correctness and added support for inline namespacesDimitri van Heesch2019-04-211-2/+2
|/