Здравствуйте, WolfHound, Вы писали:
WH>Тут на самом деле всё намного проще можно сделать.
Я тут ещё подумал. Не получится совсем так просто.
class Asd:
def sdf(qwe):
for a in b:
c
def sdf(qwe):
for a in b:
c
syntax Block = ":" NewLine IndentInc (Indent Statement)+ IndentDec;
В данном случае у нас первый IndentDec должен закрыть два IndentInc. А второй 3.
Это в нашу таблицу не записать никак.
Соответственно нужно либо делать полноценный препроцессинг вставляя скобки физически.
Либо протаскивать через парсер контекст. Чтобы можно было сделать так
syntax Block = ":" NewLine IndentInc[level] (Indent[level] Statement)+ IndentDec[_ < level];
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>