Skip to content

A simple PL0_Compiler for ECNUCS school project(New Version)

Notifications You must be signed in to change notification settings

Cardinal2376/PL_0_Compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PL_0_Compiler

Description

A PL/0(X0) language compiler, written in CPP. Originally for ECNUCS compiler course.

Bonus

bonus required:

  1. 增加运算符(各2分)
    • ☑求余运算符%
    • ☑异或运算符XOR
    • ☑判断整数的奇偶ODD
    • ☑自增++,自减--
  2. 增加语句,语法参照C语言
    • ☑for语句(5分)
  3. 增加基本数据类型
  4. 增加常量(const)的定义与使用(4分)
    • ☑区分变量与常量,可以参考PL/0语言中的实现方法
  5. 扩充成多维数组(10分左右,视实际情况给分)
    • ☑增加由任何数据类型构造的多维数组,允许定义数组、对数组元素赋值、在表达式中引用数组元素等。
  6. 允许调用(call)过程(8分左右,视实际情况给分)
    • ☑可以参考PL/0语言中的实现方法,也可以参考C语言中的实现方法
  7. 扩充带参数、返回值的过程

other bonus:

  1. 支持单行与多行注释 /**/与//

编译命令:

g++ -o test my.cpp main.cpp -std=c++11

运行命令:

./test
把输入代码写在同目录的input.txt里

About

A simple PL0_Compiler for ECNUCS school project(New Version)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages