goyacc学习(1) —— Lex - Go语言中文社区

goyacc学习(1) —— Lex


一、参考

golang学习系列目录——更新ing

Lex: A Lexical Analyzer Generator

元字符:如何巧妙记忆正则表达式的基本元件?

二、基本过程

2.1 名词列表

名称说明
source用户输入的字符串
input用户输入的字符串转为字节流
automaton 自动机
%%界定符,表示开始
FSAfinite state automaton, 有限状态机

2.2 解析过程

image.png

image.png

2.3 语法规则

image.png

2.4 词法规则示例

image.png

image.png

image.png

2.5 正则表达式

image.png

三、处理匹配

3.1 常见处理

3.2 yymore()

3.3 yyless()

3.4 匹配优先级

(1) 首先,选择匹配的字符串最长的规则

(2) 当匹配的字符串长度相同时候,选择先写的规则

版权声明:本文来源Segmentfault,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://segmentfault.com/a/1190000040019974?sort=newest
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-13 19:50:18
  • 阅读 ( 893 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢