summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
Commit message (Collapse)AuthorAgeFilesLines
* Replace runtime computation of the scope by a string constantDimitri van Heesch2021-05-241-3/+2
|
* Merge branch 'feature/issue_8541' of ↵Dimitri van Heesch2021-05-241-0/+10
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/issue_8541
| * issue #8541 Javadoc: external links to classes in java.lang are not resolvedalbert-github2021-05-241-2/+2
| | | | | | | | A `::` at the end is not necessary, intenmtion was to use make explicitly, by ".*` that all subpackages were used but that is not necessary.
| * issue #8541 avadoc: external links to classes in java.lang are not resolvedalbert-github2021-05-111-0/+10
| | | | | | | | | | | | | | | | | | Adding the default packages from "java.lang" From the standard "The Java® Language, Specification, Java SE 16 Edition" ,Chapter 7, Packages and Modules: > Code in a compilation unit automatically has access to all classes and interfaces > declared in its package and also automatically imports all of the public classes and > interfaces declared in the predefined package java.lang.
* | Merge pull request #8553 from albert-github/feature/bug_8552Dimitri van Heesch2021-05-241-7/+30
|\ \ | | | | | | issue #8552 Javadoc: strange issue with @verbatim ... @endverbatim
| * | issue #8552 Javadoc: strange issue with @verbatim ... @endverbatimalbert-github2021-05-151-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Similar problems can occur with the `\startuml` and `msc` command. ``` /** * @startuml * {\f} @code * @enduml */ ``` - some further needed corrections (for lexcode) - `\endvhdlflow` does not exist
| * | issue #8552 Javadoc: strange issue with @verbatim ... @endverbatimalbert-github2021-05-141-3/+14
| |/ | | | | | | | | The end condition of a block was not detected correctly. in `scanner.l` (and thus `lexscanner.l` too) either the second part was missing or the compete test was missing. Furthermore some conditions weren't handled correctly / incomplete.
* | Issue #8556 Removed bracket '(' in HTML an XML outputalbert-github2021-05-181-1/+1
|/ | | | The opening bracket was "forgotten" when the sharp count > 0 (in this case 1). the closing bracket was later on added to the name so the opening bracket is also be added to the name.
* Merge pull request #8333 from albert-github/feature/bug_305773Dimitri van Heesch2021-05-021-0/+12
|\ | | | | bug_305773 Volatile declaration is missing for variables in XML output
| * Merge branch 'master' into feature/bug_305773Dimitri van Heesch2021-04-291-386/+602
| |\
| * | bug_305773 Volatile declaration is missing for variables in XML outputalbert-github2021-01-131-0/+12
| | | | | | | | | | | | Handle "const" and "volatile" in the same way, they are bit cv-qualifiers
* | | Merge pull request #8327 from albert-github/feature/bug_enum_structDimitri van Heesch2021-05-021-1/+7
|\ \ \ | | | | | | | | Incorrect type for enum struct
| * | | Incorrect type for enum structalbert-github2021-01-121-1/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case we have the simple file: ``` /// \file /// docu with nothing enum MyEnum_not { v1_0, v2_0 }; /// docu with class enum class MyEnum_cls { v1_2, v2_2 }; /// docu with struct enum struct MyEnum_str { v1_3, v2_3 }; ``` with settings: ``` QUIET=YES ALWAYS_DETAILED_SEC=YES ``` the `enum struct` is shown as `enum class` in the brief description and in the detailed description just as `enum` (the later also is the case for the `enum class).
* | | Merge branch 'master' into feature/bug_formula_mjDimitri van Heesch2021-04-281-82/+82
|\ \ \ | | |/ | |/|
| * | Refactoring: remove implicit conversion from QCString to const char *Dimitri van Heesch2021-04-221-82/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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()'
* | | Problems with some commands in MathJaxalbert-github2021-04-201-4/+8
|/ / | | | | | | | | Especially with commands like `\f$\mbox{\LaTeX}\f$`MathJax has some problem as it is not, yet, able to use the commands `\raise` and `lower` inside the `\mbox` as used in this LaTeX command. Also switching in and out of math-mode doesn't work as the resulting code either doesn't work in MathJax or in LaTeX, hence the new command s `\f(` and `\f)`.
* | issue #2732: Adding support for C++ concepts (Origin: bugzilla #499352)Dimitri van Heesch2021-04-081-2/+56
| |
* | C++20 concepts: added support for parsing requires-clausesDimitri van Heesch2021-04-081-3/+124
| |
* | issue #8465 Parens in return type template are droppedalbert-github2021-03-291-1/+7
| | | | | | | | The "(" was eaten when the sharp parens ended but not the number of round brackets so exter condition required.
* | Refactoring: Add TextStream buffer to improve output writing performanceDimitri van Heesch2021-03-281-10/+9
| | | | | | | | | | - direct use of std::stringstream and std::ostream gave a 30% drop in performance.
* | Fix for Linux build (missing #include <atomic>)Dimitri van Heesch2021-03-261-0/+1
| |
* | Regression: fix array out of bound issue.Dimitri van Heesch2021-03-251-2/+6
| |
* | Refactoring: replace QGString by std::ostringstreamDimitri van Heesch2021-03-231-206/+206
| |
* | Refactoring: replace QFile/FTextStream with fstream/stringstreamDimitri van Heesch2021-03-181-2/+0
| |
* | Merge branch 'master' into feature/bug_lexDimitri van Heesch2021-03-031-13/+28
|\ \
| * | Refactoring: replaced std::regex with own much faster implementationDimitri van Heesch2021-03-021-15/+25
| | |
| * | Some performance tweaks + remove setting of global localeDimitri van Heesch2021-02-221-3/+3
| | |
| * | Refactoring: replace QRegExp by std::regex in scanner.lDimitri van Heesch2021-02-201-17/+22
| | |
* | | Adding support for lex filesalbert-github2021-02-181-81/+99
| | | | | | | | | | | | | | | - 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
* | | Adding support for lex filesalbert-github2021-02-121-2/+3
|/ / | | | | | | | | | | Adding support for lex. The lex files consist of a mixture of lex specific structures, that are handled in the the lexcode.l and lexscanner.l, abd C code that is handled by the C parsers (hence the rules used are partly copied from scanner.l). Special attention has been paid to memberdef.cpp as the initial values should not be handled by the lex parsers but by the C parsers.
* | issue #8371: @defgroup contained in the markdown mainpage.md are not ↵Dimitri van Heesch2021-02-041-1/+1
| | | | | | | | including the @ingroup marked classes in the generated documentation.
* | Refactoring: cleanup unused qtools headersDimitri van Heesch2021-01-221-1/+0
|/
* Fixes spacingDimitri van Heesch2020-12-021-31/+31
|
* Merge branch 'feature/bug_789318' of ↵Dimitri van Heesch2020-12-021-23/+38
|\ | | | | | | https://github.com/albert-github/doxygen into albert-github-feature/bug_789318
| * bug 789318 c# expression-bodied property is not rendered correctlyalbert-github2020-09-011-23/+38
| | | | | | | | | | | | | | | | | | | | Create possibility to see the CS construct `=>` not as an initializer (based on just the `=`) but as getter. This problem solves besides this issue: - #6278 c# expression-bodied property is not rendered correctly (Origin: bugzilla #789318) also the issues: - #6064 Lambda for read-only property in C# 6 (Origin: bugzilla #771283) - #7550 C# Expression-Bodied Properties reveals underline implementation - #7914 Doxygen Treats C# Inline-Bodied Properties as Member Variables
* | Forgot to remove some dead codeDimitri van Heesch2020-09-111-14/+0
| |
* | Split into separate rulesDimitri van Heesch2020-09-111-5164/+5183
| | | | | | | | Also replaced tabs by spaces and removed trailing whitespace
* | issue #8017 C++: mishandling of brackets used in trailing return typesalbert-github2020-09-081-0/+16
|/ | | | Handle `{` and `;` inside, nested, round brackets not as end of return type
* Merge pull request #7981 from albert-github/feature/bug_647654Dimitri van Heesch2020-08-301-4/+11
|\ | | | | bug_647654 Special command \fn fails when first argument of PHP function is call-by-reference
| * bug_647654 Special command \fn fails when first argument of PHP function is ↵albert-github2020-08-281-4/+11
| | | | | | | | | | | | | | | | | | | | | | call-by-reference The handling of `(&$var` for php was not included at all places. It was handled with the rules (in scanner.l): ``` <FindMembers>"("/{BN}*"::"*{BN}*({TSCOPE}{BN}*"::")*{TSCOPE}{BN}*")"{BN}*"(" | /* typedef void (A<int>::func_t)(args...) */$ <FindMembers>("("({BN}*"::"*{BN}*{TSCOPE}{BN}*"::")*({BN}*[*&\^]{BN}*)+)+ { /* typedef void (A::*ptr_t)(args...) or int (*fun c(int))[], the ^ is for Obj-C blocks */$ ```
* | issue #7979: C++ enums being defined in multiple files after b265433 ↵Dimitri van Heesch2020-08-281-8/+8
|/ | | | (multi-thread input processing)
* Fixed issue that could cause wrong line numbersDimitri van Heesch2020-08-061-1/+4
|
* 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.
* Refactor: Modernize clang parser and make it run with multiple threadsDimitri van Heesch2020-07-161-43/+18
|
* Fixed anothing compilation issue when use_libclang was not enabledDimitri van Heesch2020-06-291-16/+12
|
* Refactor: make preprocessor run in parallelDimitri van Heesch2020-06-281-14/+17
| | | | | And at the same time make sure it gives the same results as when processed using a single thread.
* Refactor: modernize markdown and make it thread-safeDimitri van Heesch2020-06-161-4/+8
|
* Merge pull request #7742 from albert-github/feature/issue_7734Dimitri van Heesch2020-05-091-16/+20
|\ | | | | issue #7734 Incorrect parsing of Q_PROPERTY
| * issue #7734 Incorrect parsing of Q_PROPERTYalbert-github2020-05-011-16/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parsing of the type / name was not done correctly as the name `{ID}` is also part of the `{TSCOPE}` and hence the name was seen as a type. The name is the last part before an attribute is present. Missing other parts: - parsing of `*` - not parsing of a number of (not supported attributes) The definition of `Q_PROPERTY` is: ``` Q_PROPERTY(type name (READ getFunction [WRITE setFunction] | MEMBER memberName [(READ getFunction | WRITE setFunction)]) [RESET resetFunction] [NOTIFY notifySignal] [REVISION int] [DESIGNABLE bool] [SCRIPTABLE bool] [STORED bool] [USER bool] [CONSTANT] [FINAL]) ``` Note: in the implementation we do not enforce the order of the attributes.