2016-06-19 21 views
2

ich diese Syntax in einem Antlr gefunden parser for bash:Antlr Pfeil Syntax

file_descriptor 
    : DIGIT -> ^(FILE_DESCRIPTOR DIGIT) 
    | DIGIT MINUS -> ^(FILE_DESCRIPTOR_MOVE DIGIT); 

Was bedeutet die -> Syntax tun?

Was ist es so genannt, dass ich es erfahren google kann?

Der 'Definitive Guide to Antlr4' hat nur eine Seite davon. Es bezieht sich auf "lexer command", aber es benennt nie den Operator. Die Verwendung im Buch unterscheidet sich von der Verwendung im Bash-Parser.

Antwort

3

In ANTLR3 wird -> in Parser-Regeln verwendet und bezeichnet eine tree rewrite rule, die in ANTLR4 nicht mehr unterstützt wird.

In ANTLR4, die -> in Lexer Regeln verwendet und hat nichts mit der alten Version 3 Funktionalität zu tun.

+0

Seite 281 von 'Definitive Guide to Antlr4' bezieht sich auf sie als Teil eines Lexer-Befehl. Bitte adressiere das in deiner Antwort. –