:29.648KB : :1 :2020-09-11 16:52:37
自己实现了个DFA的正则引擎与LALR的分析器构造
后来想想我大屑语言还没有个语法分析的代码生成器 给屑语言加点buff
%left '\+' '\-' '\*' '\/';
%start expr;
expr -> expr '\+' expr [add] |
expr '\-' expr [sub] |
expr '\*' expr [mul] |
expr '\/' expr [div] |
'\(' expr '\)' [compound];
expr -> identifier [id] | number [number] | func_call[invoke];
func_call -> identifier '\(' args '\)';
args -> args ',' expr [arg_list] | expr [arg_list];
identifier -> '[a-zA-Z_]+';
number -> '[0-9]+';
%left
%right
%none
这三个用来定义结合性与优先级
%left '\+' '\-' ;
%right '\*' '\/';
这句代码的意思是 这四个正则表达式的优先级分别为 1 2 3 4
'\+' '\-' 为左结合
'\*' '\/' 为右结合
所有单引号与双引号包裹的内容都是正则表达式 请注意转义
%start
用来定义起始符号也就是最大的文法符号(或者说最终规约出的结果)
[action] 中括号中是执行的规约动作
没有弄LALR文法的错误检测 请严格按照LALR的文法书写 Reduce-Reduce冲突不会提示
02-18易语言的自用CAD插件开源
02-16易语言打造的最简单易用的http服务框架
02-16Fiddler批量自动生成易语言代码
02-16易语言如何判断按钮只能在30秒内点击一次
02-16易语言助手插件快捷键添加注释功能
02-15易语言调用Python[模块]
02-15易语言语法的词法解析
02-09结构组比易语言数据类型调用更加高效、灵
10-06excel对数据进行分类汇总分析
10-03Excel中加载数据分析模块
08-30excel数据有效性常用功能详细分析
11-22excel做仓库统计分析的教程
11-20Excel表格绘制树形图分析销售数据
11-20Excel数据处理并绘制成分析图形
11-19在excel表格添加数据分析的插件
11-19excel做一元线性回归分析
11-17excel中分析工具库中的抽样分析
11-17Excel表格做多因素方差分析