9
我有一個ANTLR JavaScript語法(取自互聯網),它似乎支持除正則表達式之外的所有東西。用ANTLR解析JavaScript正則表達式
與字面正則表達式的問題是,你有兩個規則,基本上是:
multiplicativeExpression
: unaryExpression (LT!* ('*' | '/' | '%')^ LT!* unaryExpression)*
和
regexLiteral
: '/' RegexLiteralChar* '/'
治所在RegexLiteralChar使用不同的詞法規則,而不是正常表達
(如雙引號不會終止它)。
這意味着我需要以某種方式從解析器中更改某種詞法分析器狀態。我怎樣才能做到這一點?它甚至有可能嗎?
分析器之間的通信和詞法分析規則是不可能的。也許看看這個語法,它似乎處理正則表達式文字:http://research.xebic.com/es3/(檢查ZIP文件)。 –