文件名称:mewa:使用Lua编写编译器前端的编译器编译器
文件大小:393KB
文件格式:ZIP
更新时间:2024-03-13 19:05:29
梅瓦 Mewa是用于快速编译编译器前端原型的编译器编译器。 您使用一种自定义语言(一种Bison / Yacc风格的BNF)编写语法。 您可以指定Lua函数调用,而不是由Bison / Yacc中的括号括起来的C语句组成的操作。 此函数调用将附加到由此创建的节点上。 生成一个Lua模块,该模块实现您在语法中描述的解析器。 用C ++编写的Lua模块(请参见 )为定义您自己的类型系统和生成代码提供了一些帮助。 设计理念与局限性 Mewa的方法很幼稚。 它试图通过一个极简但清晰定义的世界模型来达到目标。 与许多其他编译器前端不同, Mewa并未针对协作工作进行优化。 Mewa不支持评估不同代码生成路径。 这个想法是将程序结构与代码进行一对一映射,并将所有分析性优化步骤留给后端。 Mewa不是框架。 它没有配备配置或插件。 它提供了一个数据结构, 和一个内存映射来存储和检索范围绑定的数