это?) чтобы токен не был привязан lex_start_p и lex_curr_p. То есть некий END токен который будет вкинут (кстати пока не могу разобраться в incremental как в on_fail добавить этот токен) по on_fail основываясь на какой то логике которую я напишу, а не на символе
То есть как это выглядит
.mly
| CASE expr=exprs_top OF NEWLINE
items=separated_nonempty_list(NEWLINE, expr_case) END
{ Case_of({ expr; items })}
.ml
and loop lexbuf result =
let supplier = I.lexer_lexbuf_to_supplier get_token lexbuf in
I.loop_handle_undo succeed on_fail supplier result
И по on_fail обработать
Синтетические токены добавляли разрабы ligolang.org в диалекты reasonligo и jsligo для начала лямбд. Можно их попинать с вопросами, или просто посмотреть в их парсере
Обсуждают сегодня