语法设计与实际应用:从CSV到JSON的解析之旅
1. 词法与语法规则基础
1.1 常见词法规则匹配
在进行语法设计时,一些常见的词法规则匹配是基础。以下是几种常见的词法规则示例:
- 匹配双引号字符串 :
STRING : '"' ( ESC | . )*? '"' ;
fragment ESC : '\\' [btnr"\\] ; // \b, \t, \n etc...
- 匹配并丢弃注释 :
LINE_COMMENT : '//' .*? '\n' -> skip ;
COMMENT : '/*' .*? '*/' -> skip ;
- 匹配并丢弃空白字符 :
WS : [ \t\n\r]+ -> skip ;
1.2 词法与语法分析的界限划分
在设计语法时,如何划分词法分析器(lexer)和语法分析器(parser)的工作界限是一个重要问题。ANTLR的词法规则可以使用递归,从技术上讲,词法分析器和语法分析器的能力是相当的。划分界限部分取决于语言本身,也取决于预期的应用场景。以下是一些划分界限的经验法则:
-
超级会员免费看
订阅专栏 解锁全文
883

被折叠的 条评论
为什么被折叠?



