为 https://github.com/takumi4ichi/caliburn 项目的分号补全,以及除法TOKEN和正则TOKEN的区分,以及lookheadno(FUNCTION, {)而增加该功能需求。
比如
program ->
line;
line ->
NUMBER ';'
| IDENT [noLineTerminator] '++';
;
可以看出,这个接受以下句子:
abc是一个IDENT,但是和下一个token_++_之间,出现了[noLineTerminator],所以执行一些特殊的语法动作,来对自动插入分号的需求进行支持。
该功能从 @jsinjs 中学习。
[div]
[noLineTerminator]
[lookaheadno{{,function}]