summaryrefslogtreecommitdiff
path: root/src/core/parser
AgeCommit message (Collapse)Author
2016-04-25Allow non-Greedy short form to eat normal commands.Andreas Stöckel
E.g. with regrads to the math ontology, this change allows syntax like \(a^\frac{1}{2}\) which is also valid in TeX (added corresponding tests).
2016-04-25Fix utterly broken ReferenceType generation.Andreas Stöckel
2016-04-25Fix typo in commentAndreas Stöckel
2016-04-25Implement resolution of ReferenceTypes with the "@" syntax.Andreas Stöckel
2016-04-25If in the implicit default field of a non-greedy short form, only read data ↵Andreas Stöckel
until whitespace characters are reached. Improve tests accordingly.
2016-04-25Implement endAtWhitespace flag which tells TokenizedDataReader to stop ↵Andreas Stöckel
reading data after the first whitespace character
2016-04-25Implement non-greedy behaviour for short tokensAndreas Stöckel
2016-04-25Introduce HandlerInfo::hadData flagAndreas Stöckel
2016-04-25Pass "greedy" flag to Handler::startTokenAndreas Stöckel
2016-04-25Pass "isImplicit" flag to Handler::fieldStartAndreas Stöckel
2016-04-25Add greedy flag to TokenDescriptor and SyntaxDescriptor and set it ↵Andreas Stöckel
correctly. Shorten Stack "checkTokensAreUnambiguous" method
2016-04-25Add a new "greedy" flag as attribute to the "short" syntax descriptorAndreas Stöckel
2016-04-25Replace NodeVector by ManagedVector where NodeVector functionality is not ↵Andreas Stöckel
needed. Reduces calls to "Manager.registerEvent" to <10% of original value
2016-04-25Issue an error messages if tokens are ambiguousAndreas Stöckel
2016-04-25Reimplement closeToken handlingAndreas Stöckel
Idea: Only start unrolling anything on the parser stack if an element that matches the given close token is found. This requires the endToken method in DocumentChildHandler to search for the given descriptor that might be ended. While performing this search, only a specified number of "explicit" structures/fields opened by the Stack class may be skipped (those with implicit default fields). Added an integration test ("python_code") which requires this new (hopefully sane) behaviour.
2016-04-25Store whether the DocumentField is part of an explicit field inside the ↵Andreas Stöckel
"DocumentField" class
2016-04-25Improve error messageAndreas Stöckel
2016-04-25Implement hasNonWhitespaceChar, lastCharIsWhitespace and ↵Andreas Stöckel
firstCharIsWhitespace methods for TokenizedData class
2016-04-25AutoformatAndreas Stöckel
2016-04-25Improved error message if data is not allowed hereAndreas Stöckel
2016-04-25Fix crash bug when unrolling in the token handler empties the parser stackAndreas Stöckel
2016-04-25added serialization support for attributes descriptors.Benjamin Paassen
2016-04-25fixed a bug in the DocumentHandler which lead to problems in case of empty ↵Benjamin Paassen
explicit fields.
2016-04-25added test for empty explicit fields, which currently fails.Benjamin Paassen
2016-04-25fix typo in variable nameAndreas Stöckel
2016-04-25Fix commentAndreas Stöckel
2016-04-25Make Tokenizer functions constAndreas Stöckel
2016-04-25Remove unneeded variableAndreas Stöckel
2016-04-25Typo in commentAndreas Stöckel
2016-04-25clang compatibility: disambiguate template parameterAndreas Stöckel
2016-04-25Make "State" a class to avoid some warningsAndreas Stöckel
2016-04-25Do not treat commands with user defined open/close syntax as range command, ↵Andreas Stöckel
if the close token is a special (whitespace) token as this produces unintuitive behaviour
2016-04-25Change way indent and dedent special tokens are produced by TokenizedDataAndreas Stöckel
* Move dedent to the end of the previous line * Leave indent to the first character of the current line * Dedent is called as many times as indent
2016-04-25Add missing include which accidently got removed during rebaseAndreas Stöckel
2016-04-25First implementation of user defined syntax, many features still missing and ↵Andreas Stöckel
probably many bugs * Implement startToken and endToken in DocumentChildHandler * Implement pushScopeToken, which pushes tokens for the element that is currently on top of the Scope stack onto the token stack * Implement rollbackPath() method (was really needed once in the development process, but only used in one place for now) * Push and pop tokens from stack whenever a new explicit field or command is created/ended. Take advantage of the fact, that the tokens for transparent structures are always included in the token list * Remember pending close tokens in the HandlerInfo structure in StackImpl * Implement handleToken() in StackImpl * Implement readToken() method used by readData() and data() in StackImpl * Check whether there still is data available in handleData() * Plus many more changes in the affected files...
2016-04-25Some small formatting and comment changes, introduce more anonymous ↵Andreas Stöckel
namespaces in cpp
2016-04-25Add tokenStack depth guard to Handler classAndreas Stöckel
2016-04-25Use getFieldDescriptor method with numeric indexAndreas Stöckel
2016-04-25Remove "inherit" flag in TokenStack, add tiny unit test for TokenStack, ↵Andreas Stöckel
temporarily remove pushTokens and popTokens calls from DocumentChildHandler
2016-04-25Implement TokenStack::lookup method used to lookup the SyntaxDescriptors ↵Andreas Stöckel
associated with a certain token.
2016-04-25Add getDescriptor method to DocumentField classAndreas Stöckel
2016-04-25Reenable pushing user defined tokens onto the stack (however, user defined ↵Andreas Stöckel
tokens do not work yet) -- but if no tokens are defined, everything should work as before.
2016-04-25Add not yet implemented "inherit" flag to the Stack classAndreas Stöckel
2016-04-25Fix crash when an undefined annotation is met in the inputAndreas Stöckel
2015-03-04Prepared implementation of user defined tokensAndreas Stöckel
2015-03-04Added POST_USER_DEFINED_TOKEN_REGISTRATION partser flagAndreas Stöckel
2015-03-04Fixed whitespace tag and some error messagesAndreas Stöckel
2015-03-04Merge branch 'master' of somweyr.de:ousiaBenjamin Paassen
2015-03-04fixed a bug in Stack.cpp which lead to wrong annotation handling if the ↵Benjamin Paassen
annotation has no content.
2015-03-04Added parsing of the generic syntax descriptionAndreas Stöckel