Compiler-Dummy-Repo:虚拟存储库,用于描述实际的专用编译器存储库

时间:2024-04-10 19:24:47
【文件属性】:

文件名称:Compiler-Dummy-Repo:虚拟存储库,用于描述实际的专用编译器存储库

文件大小:296KB

文件格式:ZIP

更新时间:2024-04-10 19:24:47

Assembly

编译器虚拟回购 虚拟存储库,用于描述实际的专用编译器存储库 由于我编写的编译器是犹他谷大学的高级Capstone项目,因此我决定在此处描述该项目,以便不公开显示代码。 该编译器适用于基于C ++和Java的KXI语言。它支持函数式编程,对象和数组。编译器包含5个阶段,其中包括: 词法分析 逐行读取文件并标记输入。我创建了一个API,该API使用函数来获取当前,下一个和第二个令牌,其中包括一个用于读取下一行的函数。 语法分析 在kxi文件中读取每一行时,请确保代码遵循该语言提供的语法。如果发现错误,则编译器将停止运行,并向用户显示行号和特定的错误消息。使用用于下一阶段的令牌信息创建符号表。一旦读取了整个文件并且没有发现错误,编译器将进行第二遍读取。 注意:switch语句包含在语法中以进行错误检查,但它们会在此阶段停止,这意味着它们不会被执行,因为没有为它们编写任何程序集。 语法分析示例:


【文件预览】:
Compiler-Dummy-Repo-main
----SyntaxErrors()
--------ClassSyntaxErr.PNG(36KB)
--------MissingMain.PNG(44KB)
--------MissingModifier.PNG(42KB)
----HelloWorld.kxi(803B)
----AssemblyCodeEx.PNG(48KB)
----SemanticErrors()
--------NoDogConstructor.PNG(23KB)
--------NoTypeOfBark.PNG(30KB)
--------NoDogConstructor2.PNG(3KB)
--------barkUndefined.PNG(29KB)
--------NoBarkObject.PNG(21KB)
--------NoTypeOfBark2.PNG(7KB)
----outputFile.asm(24KB)
----README.md(3KB)
----QuadTableEx.PNG(67KB)

网友评论