[antlr-interest] antlr v4 wish list
Terence Parr
parrt at cs.usfca.edu
Thu Mar 24 10:23:40 PDT 2011
added
* Tree parser error handling should skip subtrees not nodes; these are programming errors not input errors. The flat stream makes it hard to resync.
Ter
On Mar 24, 2011, at 2:07 AM, Iztok Kavkler wrote:
>> Howdy, I'm going to start augmenting ANTLR v3 significantly to create v4. The goal is backward compatibility; any new functionality, of course, will require altering or augmenting your grammars to take advantage of it. Here is my potential list of updates:
>>
>> http://www.antlr.org/wiki/display/ANTLR4/ANTLR+v4+Wish+list
>>
>> Anything to add or comment on?
>>
>> Ter
>>
>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
> A new error recovery mode for tree parsing:
> When parsing ASTs, the ordinary error recovery strategies based on token
> deletion/insertion are completely useless, because there are no man-made
> syntax errors. In my experience, what you really want to do is the
> following: assume that you have an error handler attached to some rule
> and an error happens somewhere in the subtree of the node parsed by that
> rule. When the handler catches an error, the parser must skip the
> remainder of that subtree, otherwise the parser position is not
> consistent with the grammar position anymore. In AST implementations
> that are based on pointers between nodes this happens automatically, but
> Antlr's representation as a flat list of nodes with UP and DOWN tokens
> makes it requires some work - the parser has to keep track of the
> current node's depth and skip the appropriate number of UP nodes
> whenever an error is caught.
>
> Iztok
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
More information about the antlr-interest
mailing list