ANTLR Какой самый простой способ реализовать в python грамматику с отступами?

Я пытаюсь реализовать в python грамматику с отступом.

Исходный пример:

ABC QWE
  CDE EFG
  EFG CDE
    ABC 
  QWE ZXC

Как я вижу, мне нужно реализовать две лексемы INDENT и DEDENT, так что я мог бы написать что-то вроде:

grammar mygrammar;
text: (ID | block)+;
block: INDENT (ID|block)+ DEDENT;
INDENT: ????;
DEDENT: ????;

Есть ли простой способ реализовать это с помощью ANTLR?

(Я бы предпочел, если это возможно, использовать стандартный лексер ANTLR.)

20
задан Astronavigator 27 December 2011 в 07:53
поделиться