Продолжая с этой проблемы GitHub :
Мне нужно сопоставить отступ или отступ, и я использую Earley . У Earley нет встроенной поддержки отступов, но я хотел бы иметь возможность использовать отступы вместо фигурных скобок в моем языке.
Пример ввода:
func foo(a: A, b: B): C =
theresSomeIndentRequiredHere(a, b)
func noMoreIndentMeansNoMoreFoo: D = ???
Это будет проанализировано theresSomeIndentRequiredHere
как часть foo
, но noMoreindentMeansNoMoreFoo
не будет обработан как часть foo
.
Как я могу сделать это без потери тонны скорости?