0.3.1
What's new:
-
Introducing syntax tree parsers that store the tree structure of the parsed input including the start/end positions of each tree node. Your parsers can automatically be transformed from
Parser<T>toParser<SyntaxTree<T>>, see the Syntax trees section; -
Tokenizerinterface to customize the default tokenizing behavior; To support tokenizer implementations that do not use Java regexes,Tokennow stores a rawStringinstead of aPattern. The default tokenizer implementation is now namedDefaultTokenizer. -
Parser<T>properties now can be delegated insideGrammar, which will store them into the the newdeclaredParsersproperty; -
Optimizations of built-in combinators;
-
Regex parameters of
Tokenfactory functions annoteted for IntelliJ IDEA regex language injection; -
Names for
Tokens are no more necessary.
Migration notes:
-
If you used
Lexerexplicitly, useDefaultTokenizerinstead; -
If you used
Token::pattern, change to using the raw pattern string; -
It is also good to change the
val p = someParserdeclarations inside theGrammars toval p by someParser.
