# Compile **Repository Path**: high-minded-git/compile ## Basic Information - **Project Name**: Compile - **Description**: 2024春编译原理大作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-03 - **Last Updated**: 2024-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Complie #### 介绍 2024春编译原理大作业 #### 软件架构 lexical: 词法分析部分 syntax: 语法分析部分 inter_txt: 存放源文件和中间过程产生的文件 debug: 存放debug用的各项文件 main.cpp: 主程序 start.bat: 编译脚本 start.sh:linux环境下运行脚本 #### 使用说明 1. 当前文件夹下执行以下命令编译程序: ```bash .\start.bat ``` 2. 当前文件夹下执行以下命令运行程序: ```bash .\main.exe ``` #### linux下运行方式 传入相对于`start.sh`路径下的某个输入源程序: ```bash # 第一个参数为输入程序path参数,若main.exe已生成,不编译直接启动main.exe(不改动程序情况下测试输入使用) ./start.sh ./txt/test/cover_test.txt # 第二个参数为restart,设置后不管main.exe是否存在都重新编译运行(若程序修改,则需要添加restart) ./start.sh ./txt/test/cover_test.txt restarts ``` #### 更改文法 1. 更改 syntax/grammar 文件,按照如下格式填写每一项 ```bash [序号][Tab缩进][左侧符号][空格]->([空格][符号])* ``` 2. 更改 syntax/syntax.cpp 中以下变量的定义(terminal_symbol中第一位的"$"表示空白符,尽量不要改) ```bash terminal_symbol non_terminal_symbol start_symbol ``` 3. 更改 syntax/syntax.h 中以下宏定义的值 ```bash TERMINAL_SYMBOL_NUM NON_TERMINAL_SYMBOL_NUM ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request