语法解析、文法和自动机

文法相关资料

LR语法PPT: https://wenku.baidu.com/view/5d8d8280d0d233d4b14e6924.html

定义个简单的加法计算器

name = [a-z]+
number = [1-9][0-9]+

block ::=  stat | block stat
stat ::= "write" name | name "=" exp
exp ::= name | number | exp "+" exp

语法解析、文法和自动机_第1张图片
词法DFA
语法解析、文法和自动机_第2张图片
语法NFA
语法解析、文法和自动机_第3张图片
语法DFA
  1. LR系列语法有自动生成工作(如yacc)生成解析程序。还是要配合算符优先分析法的。
  2. 手写解析程序,LL(2)文法加上算符优先分析法就可以处理lua的语法了。
  3. LR系列方法的改进,也是自动机改进的过程。

你可能感兴趣的:(语法解析、文法和自动机)