我正在解析具有始终连续但不总是连续的记录片段的流,例如,在下面的示例中,第1行和第3行是同一记录的一部分,而第1行总是在第3行之前它们之间可能存在一条完全不相关的线,在本例中为第2行,它必须与第4行匹配。
1: [[aaaa
2: [[bbbb
3: aaaa]]
4: bbbb]]
如果有确定的方法来匹配记录片段,ANTLR可以处理这种碎片吗?如果是这样,语法会是什么样子?
答案 0 :(得分:1)
不,这是不可能的(我想知道这是否是可取的,因为你无法在任意深度源嵌套中匹配混合输入的开始和停止部分)。始终处理输入,因为它来自输入流。当然,您可以通过在某些条件下输入源的不同部分来伪造输入。但这需要将输入预处理到与以下解析阶段几乎相同的级别。