表达式计算器的语法、语义分析器的设计与实现(输出四元式的中间结果和最终的运算结果)。 在实验一词法分析的基础上,以词法分析输出结果(单词串或者成为多元式序列)作为该语法语义分析器的输入,最后输出中间代码四元式序列,并计算出表达式最后的结果。采用优先算符算法。
2021-04-20 17:01:34 32KB 编译原理 语义解释器
1
本文包含解释器的公共领域实现,该解释器用于C#中称为Cat的静态类型的基于堆栈的编程语言。 随附的文章是各个模块如何工作的高级描述,语言的简要描述以及与相关工作的链接。
2021-04-08 14:10:23 245KB C# Windows .NET .NET2.0
1
整体架构设计 整体处理流程: 输入模块读入源程序代码 转换模块把源代码初步也就是规范化之后,词法分析模块将规范化的内核进行处理,分割为最小单元,剔除间距与注释,将代码保存进一维类数组,每格保存一个最小单位,要求记录该单元内容,行数,标记syn值(对应表可知类型) 然后语法语法分析模块先进行语法分析,即在词法分析的基础上将单词序列组合成类别的语法,然后对结构上正确的源程序进行相关性质的审查,进行类型审查,对类型对应错误进行报告,对正确的语句生成语法树并执行 之后就是执行模块执行语法树并保存结果 最后就是输出模块在执行程序的过程中以及执行完成后,输出必要的运行情况和运行结果。 流程图 各模块工作原理 1,函数分离模块 无输入输出 重新扫描温度矢量,当识别到函数定义时,记录函数名进入函数表,同时将函数位置,形参个数,每个的形参类型记录,将形参入该函数的变量表,依次完成对所有函数的处理。 2,四
2021-03-23 19:10:58 110KB 系统开源
1
人体解剖学习题集(含答案)
2021-03-13 22:07:01 1.5MB 解释器模式
讲解了CPython这个Python解释器的语法定义、解释器运行机制等,对深度理解Python语法、运行规则有极大帮助
2021-02-20 12:02:59 1.47MB python CPython 解释器
1
支持新语法,set增加 /i 和/f开关,可以在批处理中直接调用系统api。
2021-02-17 23:20:34 90KB 控制台 cmd 解释器 API
1
解析了循环,设计实现了range,解决了lexer的一些Bug
2021-02-13 09:00:35 21KB 编译器 解释器
1
改进了let,static,const语法树,解析了BEGIN和END块,解析了if,elif,else 修改了Node类设计。 但是出于BinOp_Node类上面的类都会被VS2019当做是BinOp_Node类,这是编译器的问题,不是我的
2021-02-11 12:00:36 20KB 编译器 解释器
1
CanJS CanJS是一个JavaScript解释器,可以在JS中运行JS代码。 相关文章: 安装 git clone https://github.com/jrainlau/canjs.git 用法 直接在字符串中运行JS代码是可以的。 const Canjs = require ( './dist/index.js' ) new Canjs ( ` console.log('Hello World!') ` ) . run ( ) CanJS使用ES5标准库,但您也可以为其提供自定义变量: const Canjs = require ( './dist/index.js'
1
Flutter Lua插件 这是一个插件,它嵌入了解释器和运行时,用于执行Flutter应用程序中的动态脚本。 产品特点 在您的Flutter应用中嵌入解释器。 在后台线程(而不是主UI线程)上执行Lua代码。 支持从字符串以及应用程序资产捆绑包中捆绑的源文件执行源代码片段。 兼容性 Android和iOS都有。 例子 检查Lua运行时版本 import 'package:flutter_lua/flutter_lua.dart' show Lua; print ( await Lua .version); 产生一个新的Lua解释器线程 import 'package:flutter_l
2021-02-03 23:51:04 97KB android ios lua flutter
1