6
|
chiborg Alessandro Minoccheri · 技术社区 · 15 年前 |
![]() |
1
7
你真正应该做的是为你的语言写语法。一旦你有了它,边界就很容易了:
lexer不负责输入验证,除非拒绝不可能的字符,以及其他 非常基础 位。解析器完成所有这些。 看一看 http://www.cs.rochester.edu/~nelson/courses/csc_173/grammars/parsing.html . 这是一个关于解析的介绍CS课程页面。 |
![]() |
2
5
一个很好的试金石测试来决定是否应该由解析器或lexer来做一些事情,那就是问你自己一个问题:
语法是否有任何递归的、嵌套的、自相似的元素?
如果不是这样,纯正则表达式就足够了,它可以由lexer完成。
lexer通常用于查找语言的“单词”,并对它们进行分类(它是名词吗?动词?形容词?等等)。
|
![]() |
batman · 如何用特定模式grep特定行及其子网行? 2 年前 |
![]() |
Jensen Holm · 在非常大的字符串中查找链接时遇到问题 3 年前 |
![]() |
MBF · PHP导入/解析XML文件内容保存到数据库 3 年前 |
![]() |
user10717742 · 用java编写的自定义文件解析器需要改进 3 年前 |
![]() |
Muhsin Muhammed · 向文件中的行添加引号和逗号 3 年前 |
![]() |
Felkru · 添加字符串会在Javascript中返回空字符串 3 年前 |
![]() |
Mustard Tiger · 熊猫解析文本列 3 年前 |