summaryrefslogtreecommitdiffstats
path: root/src/fortranscanner.l
Commit message (Collapse)AuthorAgeFilesLines
* flex: use %option instead of command line options.Adrian Negreanu2016-09-211-0/+3
|
* Bug 742452 - Fortran: attributes after a blank line are ignored / Bug 625602 ↵albert-github2016-08-271-3/+28
| | | | | | | | | - FORTRAN: comment in subroutine argument list This patch fixes the problem that comment lines in continuation parts stopped the continuation part. Patch consists of 2 parts: - correct setting of continuation characters for fixed form source code - ignoring lines with just comment (based on initial fix proposed by angus-g, but extended for empty lines and comment lines that contain a continuation character)
* Changed configuration mechanism to directly access options in order to ↵Dimitri van Heesch2016-01-171-3/+3
| | | | improve performance
* Merge pull request #435 from albert-github/feature/bug_700381Dimitri van Heesch2016-01-021-6/+21
|\ | | | | Bug 700381 - error state 21 with fortran code (fixed format)
| * Bug 700381 - error state 21 with fortran code (fixed format)albert-github2016-01-021-6/+21
| | | | | | | | Problem is caused by similar quotes inside quotes, in Fortran it is possible to "escape" quotes by doubling them.
* | Fortran inline source code and crash on Linuxalbert-github2016-01-021-1/+4
|/ | | | | This patch fixes a problem on Linux where in a number of cases doxygen crashed when an unnamed interface existed and the routine itself was in the same source file. Furthermore the end line of routines is set correctly so inline source code in Fortran will be possible as well.
* Add support for "value" attribute in FORTRAN scanneralbert-github2015-08-271-2/+13
| | | | The "value" attribute was already supported in the FORTRAN code browser, but not yet in the scanner.
* drop #include <unistd.h>Adrian Negreanu2015-05-151-3/+2
| | | | Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
* Crash in case of non generic interface in Fortranalbert-github2015-03-181-1/+1
| | | | In case of a non generic interface in Fortran it happened that doxygen crashed due to the fact that the pointer for setting the endBodyLine does not exist. The line number is only defined for GENERIC interfaces and therefore it should not be set anyhow when ending a non generic interface.
* Fortran: fixed format position 73 and further is commentalbert-github2015-01-041-0/+3
| | | | Small regression, line with 'C' (Capital C) was edited away, re-instated.
* Fortran: fixed format position 73 and further is commentalbert-github2015-01-041-6/+55
| | | | According to the Fortran standard position 73 and further on a line are comment. Until now this was not considered.
* Merge pull request #272 from albert-github/feature/bug_unusedDimitri van Heesch2015-01-031-1/+0
|\ | | | | Remove unused local and static global variables
| * Remove unused local and static global variablesalbert-github2014-12-271-1/+0
| | | | | | | | Remove unused local and static global variables. Variables have been identified by Understand (version 758) from Scitools.
* | Fortran FUNCTION source codealbert-github2015-01-021-0/+2
| | | | | | | | In case of a Fortran FUNCTION there was a difference between the handling of the source code lines for functions with and without the RESULT clause. This has been made uniform.
* | Suggestion to use stripPrefix has been implemented for RESULT.albert-github2015-01-021-25/+14
| | | | | | | | For consistency also implemented for arguments.
* | Documenting RESULT variable of Fortran FUNCTIONalbert-github2015-01-021-1/+52
|/ | | | Fortran functions can specify the return value by means of a variable in the RESULT attribute. Analogous to argument variables (@param) it is now possible to document also the return / RESULT variable (@returns).
* Merge pull request #247 from hansec/FORTRAN_moduleNSDimitri van Heesch2014-12-201-1/+1
|\ | | | | Convert FORTRAN modules to namespaces
| * Convert FORTRAN modules to namespacesChris Hansen2014-11-211-1/+1
| | | | | | | | This helps fix linking issues and ambiguity related to the difference between classes and modules in FORTRAN 2003+.
* | Support for INLINE_SOURCES in Fortranalbert-github2014-12-071-3/+19
|/ | | | Fortran does not yet support the INLINE_SOURCES, with this patch (part of) this omission is solved.
* Bug 738063 - Fortran attribute contiguous not identifiedalbert-github2014-10-111-2/+24
| | | | Added keywords contiguous and volatile
* Bug 634763 - Fortran: external subroutine as dummy argument not recognizedalbert-github2014-09-071-4/+20
| | | | | Besides as as attribute the external can also be used as "type" Previous commit (pull request 121) was reverted (pull request 122) due to warning message.
* Revert "Bug 634763 - Fortran: external subroutine as dummy argument not ↵Dimitri van Heesch2014-09-071-1/+1
| | | | recognized"
* Bug 634763 - Fortran: external subroutine as dummy argument not recognizedalbert-github2014-09-071-1/+1
| | | | Besides as as attribute the external can also be used as "type"
* Better handling of inline Fortran parameter documentationalbert-github2014-08-231-42/+80
| | | | | In case the comment for Fortran arguments is empty or just contains @param [direction] <varname> or parts of these. The comment is is not shown and (depending on the configuration settings, a warning is given). Also the detection of inconsistencies between intent attribute and documentation has been improved.
* Correction of typing erroralbert-github2014-08-161-3/+3
| | | | Corrected documenation -> documentation
* Bug 733856 - segfault in QGListIterator while parsing fortran codealbert-github2014-07-301-0/+1
| | | | | Problem with variables with the name type versus type definitions. type followed by = is recognized as not being a type definition instead of the use of a variable.
* Bug 623299 - Fortran: quotation after define causes erroralbert-github2014-04-211-0/+3
| | | | For the determination whether the file is free or fixed formatted code just see lines starting with # as comment lines
* Some restructuring and some compiler warning fixesDimitri van Heesch2014-03-151-7/+7
|
* Merge branch 'feature/bug_625601' of ↵Dimitri van Heesch2014-03-151-6/+9
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_625601
| * Bug 625601 - FORTRAN: recognition free versus fixed formatted codealbert-github2014-03-091-6/+9
| | | | | | | | | | The recognition of the type (free or fixed) of Fortran code is not reliable possible. A well known possibility as used with compilers as well is to specify the type of code by means of the extension. With EXTENSION_MAPPING it is possible to select the type of Fortran code, when not explicitly set doxygen tries to guess the type of Fortran code.
* | Bug 643618 - Fortran: variable with name "type" confuses Doxygenalbert-github2014-03-091-1/+1
|/ | | | Most problems were solved in version 1.8.5 but the underscore character (_) had not been incorporated, this is done with this patch.
* Corrected some definitions for some Fortran keywordsalbert-github2014-02-231-1/+1
|
* Reduced and improved functionality of QListDimitri van Heesch2013-12-301-2/+2
| | | | | | | | | - operations on current index and node (next(), prev(), last(), first()) have been removed. - access to internal nodes has been removed. - old QList has been renamed to QInternalList for use inside qtools only. - added type safe compare, new, and delete operations (compareValues(), newValue(), deleteValue()). - add compareValues also to QDict for consistency. - changed doxygen's implementation to comply with the new QList and QDict interface.
* Merge pull request #59 from albert-github/feature/bug_715172Dimitri van Heesch2013-12-071-1/+1
|\ | | | | Bug 715172 - Consistently document Fortran's equivalent function bodies
| * Bug 715172 - Consistently document Fortran's equivalent function bodiesalbert-github2013-12-011-1/+1
| | | | | | | | Although controversioal but for consistency converted type for fortran functions to lowercase
* | Fortran added keyword IMPUREalbert-github2013-12-011-3/+3
|/ | | | Added keyword IMPURE analogous to keyword PURE
* Debug output for lexical analyzerAlbert2013-11-131-0/+5
| | | | | | | | | | | | | | In case of error messages like: input buffer overflow, can't enlarge buffer because scanner uses REJECT it is not always directly clear from which lexical analyzer (.l file) this problem comes. This patch helps to find these problems and does the following things: - when using the option -d lex with doxygen each time a lexical analyzer is called at the start a line like the following line will be given: Entering lexical analyzer: pre.l (for: ..../file.c) and at the end: Finished lexical analyzer: pre.l (for: ..../file.c) - in case the lexical analyzer has been translated with the -d option of lex / flex the above mentioned lines will be given as part of the lexical analyzer output (to stderr) and look like: --entering lexical analyzer: pre.l (for: ..../file.c) --finished lexical analyzer: pre.l (for: ..../file.c)
* Added rudimentary support for django like template system for output creation.Dimitri van Heesch2013-10-211-0/+0
|
* Bug 709845 - Fortran: problem with types with name starting with isDimitri van Heesch2013-10-111-1/+1
|
* This patch contains changes regarding the build system so that the *nix and ↵albert-github2013-10-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows systems use the same information (consistency). Some use names routine names have been changed (from .l files with -P option) to reflect the file name that generated the routines, this makes it easier to create a general procedure. A number of include / header files are files are generated from different file types (html, xml, js), due some limitations of the windows build system the generated file names had to be changed (the extension in the windows build system is only available including the '.' so e.g. the file jquery_fx.js generates now jquery_fx.js.h instead of jquery_fx_js.h) In the windows version the creation of .cpp files from .l files has been adjusted to correct for the YY_BUF_SIZE problems. Furthermore on windows (and also used on *nix) some commends have been replaced with python scripts so that on windows only python is need (besides flex and and bison). On *nix also perl is required for the generation using tmake. Below a short description of the changes will be given and grouped. Changed files ============= - .gitignore added some directories and file - Doxyfile corrected for changed file names - Makefile.in added realclean and some other changes (ignore error) and the moment when the Makefile is deleted (as last file). Added entries for doxyapp and doxmlparser Added realclean for the following files (consistency): ====================================================== - Makefile.win_make.in - Makefile.win_nmake.in - addon/doxmlparser/examples/metrics/Makefile.in - addon/doxmlparser/src/Makefile.in - addon/doxmlparser/test/Makefile.in - addon/doxyapp/Makefile.in - addon/doxysearch/Makefile.in - libmd5/Makefile.in - qtools/Makefile.in - addon/doxyapp/doxyapp.pro.in removed double occurence of -L../../lib - addon/doxysearch/doxysearch.pro.in no visible change just spacing? - addon/doxywizard/Makefile.in added realclean corrected call to qmake (to get it from the right place, it is not necessarily in the path) made some macros known in the called process - addon/doxywizard/configdoc.cpp automatically generated, can be removed - addon/doxywizard/doxywizard.pro.in corrected dependencies corrected call to python (to get it from the right place, it is not necessarily in the path) new items to generate version.cpp and config_doxyw.cpp - configure added configuration definition possibility for python added possibility to build doxmlparser automatically generate the lang_cfg.h file based on the available languages (translator_??.h) and not on a fixed list. This step still has to be added to the windows build process. - doc/Makefile.in corrected call to python (to get it from the right place, it is not necessarily in the path) - doc/config.doc small correction - doc/install.doc added python as a requirement changed CVS to GitHub - doc/language.doc automatically generated file, based on other changes. - doc/language.tpl made XX and xx more consistent changed description of the procedure based on changes already made configure. - src/Makefile.in adjusted used file names in distclean Solved PERL usage consistent with LEX / YACC (with %%PERL%%) automatically add translator_??>h to HEADERS same spacing Adjusted in the following file the names of some include files: =============================================================== - src/cite.cpp - src/docbookgen.cpp - src/ftvhelp.cpp - src/htmlgen.cpp - src/layout.cpp - src/searchindex.cpp - src/xmlgen.cpp Adjusted in the following files some routine names (..YY..) to be consistent with the file names: ================================================================================================= - src/commentscan.l - src/constexp.h - src/constexp.l - src/constexp.y - src/fortrancode.l - src/fortranscanner.l - src/pyscanner.l - src/pre.l - src/scanner.l - src/tclscanner.l - src/vhdlparser.y - src/vhdlscanner.l - src/config.xml small textual correction - src/configoptions.cpp generated output file, can be removed - src/lang_cfg.h Automatically generated file with selected languages (*nix). On windows a procedure has to be defined. - src/libdoxycfg.t.in corrected call to python (to get it from the right place, it is not necessarily in the path) - src/libdoxygen.pro.in adjusted include file names removed translator_??.h files, they are added automatically changed file name ce_lex.cpp -> constexp.cpp (generated file) - src/libdoxygen.t.in made LEX calls used the file name for the -P option changed INCREASEBUF script to a python script changed teh geneartion of some include file, now by means of a pythons script. Names of the generated include file had to be changed as well. added possibility to generate version.cpp here as well. Added HEADERS to dependency so non existing but later generated include files are recognized as well: ===================================================================================================== - tmake/lib/unix/generic.t - tmake/lib/win32-borland/generic.t - tmake/lib/win32-g++/generic.t - tmake/lib/win32-mingw/generic.t - tmake/lib/win32-msvc/generic.t - tmake/lib/win32-symantec/generic.t - tmake/lib/win32-visage/generic.t - tmake/lib/win32-watcom/generic.t - winbuild/Doxygen.vcproj made consistent wit *nix version. Generating all possible files removed unused /empty parts setting for the Lex.rules and other rules files some default values - winbuild/Doxywizard.vcproj made consistent wit *nix version. Generating all possible files removed unused /empty parts removed system dependent paths (C:\... etc) replaced then with external environment variables - winbuild/Lex.rules adjusted file to comply with new requirements, only user variable is -d. -i is set to read only (value can be changed in doxygen.vcproj). Handling of other arguments is all default. generation including increasebuffer possibility - winbuild/doxyindexer.vcproj corrected path - winbuild/doxysearch.vcproj removed system dependent paths (C:\... etc) replaced then with external environment variables - winbuild/qtools.vcproj corrected type, wrong used directory The following files are automatically generated (with slightly other names like index.xsd.h etc.): ================================================================================================== - src/index_xsd.h - src/doxygen_bst.h - src/dynsections_js.h - src/extsearch_js.h - src/footer_html.h - src/header_html.h - src/jquery_fx_js.h - src/jquery_p1_js.h - src/jquery_p2_js.h - src/jquery_p3_js.h - src/jquery_pt_js.h - src/jquery_ui_js.h - src/navtree_css.h - src/navtree_js.h - src/resize_js.h - src/search_css.h - src/search_functions_php.h - src/search_js.h - src/search_opensearch_php.h - src/svgpan_js.h the following files are generated with different names: - src/bib2xhtml.h becomes - src/bib2xhtml.pl/h - src/layout_default.h becomes - src/layout_default.xml.h The file: ========= - addon/doxywizard/config.l is replaced by: - addon/doxywizard/config_doxyw.l so there are in the system not 2 different config.l files. Renamed some routines from configYY -> config_doxywYY... New files: ========== - src/increasebuffer.py increase YY_BUF_SIZE and YY_READ_BUF_SIZE from 16k / 8k to 256k. - src/settings.py create settings.h file - src/to_c_cmd.py create include files from different files (html, xml, js) so they can be included in the code as defaults - src/version.py create version.cpp file based on the configure file - winbuild/Config.rules rules file to convert the config.xml file into configoptions.cpp (doxygen) or configdoc.cpp (doxywizard). Seen the differences 2 rules are created within this file. - winbuild/Gen_head.rules rules files to generate include files from different files using to_c_cmd.py - winbuild/Settings.rules rules file for generating the settings.h file. It is possible to select to use CLANG and SqlLite3 - winbuild/Version.rules rules file to be able to start version.py The files: ========== - version.bat - runbison.bat - increasebuffer.pl are not used anymore. I've only added the files as indicated, I didn't remove the files from the repository.
* Bug 707641 - `FILTER_SOURCE_FILES=YES` required to build CALL_GRAPHSSergio Oller2013-09-281-2/+3
| | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=707641 Add references if the file is filtered, as the parser does not know whether we are insideBody or not.
* Bug 707685 - Fortran: error message when missing last EOLalbert-github2013-09-071-1/+31
| | | | In case the original buffer in either fixed or free format code does not contain an EOL as last character, add it.
* Bug 706520 - Fortran: in body documentation lands on wrong placealbert-github2013-09-021-1/+1
| | | | | In some cases, in propriety code, with in body Fortran documentation doxygen crashed. I REOPENED Bug_706520 for this
* Bug 706804 - Fortran: Doxygen mixes up function-attributes with the return typealbert-github2013-08-261-1/+1
| | | | test string should not be equal to "function" but should contain "function"
* Bug 706520 - Fortran: in body documentation lands on wrong placealbert-github2013-08-211-3/+12
| | | | | | In case we are in the body of a subroutine or function set the in body flag. When comment has been handled (each Fortran comment block is handled as one block, not as parts) reste the in body flag. In case we have to handle documentation of an argument, reset the inbodyDocs field to the empty string. The documentation stored was no inbody documentation but argument documentation).
* Bug 703112 - Backward documentation comments are not allowed in Fortran ↵Dimitri van Heesch2013-07-021-1/+1
| | | | type-bound procedures
* Bug 703170 - Segmentation fault parsing a fortran fileDimitri van Heesch2013-07-021-1/+1
|
* Bug 701314 - URLs are not created on C# classes in some casesDimitri van Heesch2013-06-151-0/+1
|
* Add scopes to Fortran prototype name parsing.Oleg Batrashev2013-05-221-4/+6
|
* Prototype scan for function, does not yet catch parameter types.Oleg Batrashev2013-05-211-2/+35
|