豫豫言文档API ATLAS
入口软件/豫言/文档网站生成器/入口。豫
165 模块2333 名称
← 全部模块

模块 / 81

软件/豫言/编译器核心/编译步骤/语法分析/表达式解析输入分析。豫

软件/豫言/编译器核心/编译步骤/语法分析/表达式解析输入分析。豫

8公开名称

抽栈素

公开
「元类型」

暂无说明。

合并操作符栈素

公开
化(「列」于「栈素」)而化(「列」于(「字符串」合(「操作符」合「整数」)合(「列」于「表达式」)))而(「列」于((「列」于「栈素」)合(「列」于「栈素」)合(「列」于「表达式」)))

把相同关键词的归为一组

匹配操作符字符

公开
化(「列」于「表达式」)而化(「列」于(「操作符」合「整数」))而(「列」于(「字符串」合(「操作符」合「整数」)合(「列」于「表达式」)))

暂无说明。

匹配操作符字符随后合并栈素

公开
化(「列」于「栈素」)而化(「列」于「表达式」)而化(「列」于(「操作符」合「整数」))而(「列」于((「列」于「栈素」)合(「列」于「栈素」)合(「列」于「表达式」)))

暂无说明。

扫描绑定

公开
化(「列」于「表达式」)而化「组件」而化「栈素」而(「或可有」于((「列」于「栈素」)合(「列」于「表达式」)))

扫描绑定返回绑定式和下一个字符串组件

处理下个字符开始

公开
化(「列」于「栈素」)而化(「列」于「表达式」)而(「列」于((「列」于「栈素」)合(「列」于「栈素」)合(「列」于「表达式」)))

匹配可以作为开始的操作符

处理下个字符后续

公开
化(「列」于「栈素」)而化(「列」于「表达式」)而(「列」于((「列」于「栈素」)合(「列」于「栈素」)合(「列」于「表达式」)))

匹配可以作为一个操作符后续的操作符, 也就是获取的新操作符组件必须可以消除前面的输入 ,不可以添加新的组件 我们目前假设不存在连续的参数组件,TODO:探究可否放松该要求

分析输入

公开
化(「列」于「栈素」)而化(「列」于「表达式」)而化化「字符串」而化(「列」于「栈素」)而「有」而(「列」于((「列」于「栈素」)合(「列」于「栈素」)合(「列」于「表达式」)))

输入头部 如果是字符则查询对应的关键字,可能有多个匹配项, 若无匹配,则查询最长的不认识的名字 分析输入会返回新的已有栈,因为对于输入的分析可能会使得栈上的元素发生改变, 我们要保证所有的返回的输入解析一定可以被规约,所以要在解析时排除不可规约的可能性