summaryrefslogtreecommitdiffstats
path: root/src/fortranscanner.l
Commit message (Collapse)AuthorAgeFilesLines
* 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
|/
* Merge pull request #6873 from albert-github/feature/bug_ftn_cont_labelDimitri van Heesch2019-03-171-17/+56
|\ | | | | Continuation lines and labels
| * Continuation lines and labelsalbert-github2019-03-071-17/+56
| | | | | | | | | | Better handling of continuation lines when converting from fixed form Fortran to free form Fortran, especially handling the information in columns 733 and further (which is in fixed formatted Fortran always comment) An `end` statement can start not only on lines with spaces in front of it but also when a line has a label or the `end` can be after a `;`.
* | Possibility to show converted fixed formalbert-github2019-03-071-0/+3
|/ | | | Create an easy possibility to show the Fortran source as converted from fixed form to free form.
* issue #6734 parsing performance worsenedDimitri van Heesch2019-01-071-3/+4
|
* Fortran scanner abort messagealbert-github2018-10-231-1/+47
| | | | The Fortran scanner can give a message when the scanner is aborted, in here there is also the state, but in the form of a number. This patch adds a little bit more descriptive text.
* Numbers in comment disappearalbert-github2018-10-081-1/+1
| | | | | | | | | | | | In fixed formatted Fortran code the numbers in the first positions of the comment were filtered out. This is a regression on pull request #655 example where the number '1' disappears: !> \details !> 1.) First point subroutine tst end subroutine
* Bug 796621 - @cond does not stop at @endcond Fortranalbert-github2018-06-191-8/+0
| | | | | The backslash (\) is in Fortran not an escape character but was handled as such, this has been corrected. Handling of the different Fortran string types ('...' and "...") made more consistent.
* Merge branch 'feature/bug_enum' of https://github.com/albert-github/doxygen ↵Dimitri van Heesch2018-06-101-17/+95
|\ | | | | | | into albert-github-feature/bug_enum
| * Implementation Fortran ENUM / ENUMERATIONalbert-github2018-02-171-15/+94
| | | | | | | | All ENUMs are anonymous as they don't have a name defined in the Fortran standard.
* | Merge pull request #655 from albert-github/feature/bug_fortranDimitri van Heesch2018-04-221-8/+36
|\ \ | | | | | | Fortran improvements
| * | Fortran improvementsalbert-github2018-02-121-8/+36
| |/ | | | | | | | | | | | | | | | | | | - adding NON_RECURSIVE - better handling of missing PROGRAM in case of following module / subroutine in same file - ignore (numeric)-labels in fixed source form - adding support for - TYPE IS - CLASS IS - CLASS DEFAULT