資源簡介
編譯原理課程設計的第一部分,一個PASCAL語言子集(PL/0)詞法分析器的設計與實現。
代碼片段和文件信息
//
//??main.cpp
//??a?compiler?2
//
//??Created?by?Brooklyn?Marz?on?2019/1/3.
//??Copyright???2019年?Brooklyn?Marz.?All?rights?reserved.
//
#include?
#include?
#include?
#include?
using?namespace?std;
#define?ILLEGAL_CHAR?0
#define?ERROR_OPERATOR?1
string?key[14]?=?{“program““const““var““procedure““begin““end““if““then““else““while““do““call““read““write“};
int?lexAnalyze(FILE*?fp);
int?getnbc(char?ch);
int?isDigit(char?ch);
int?isLetter(char?ch);
int?isKey(string?arr);
void?retract(FILE*?fp);
void?formatOutput(FILE*?resint?code);
void?formatOutput(FILE*?resint?codestring?arr);
void?error(int?codeint?lineFILE*?err);
int?main(){
????FILE?*fp?=?fopen(“/Users/Marz/Desktop/n.iso/編譯原理/lexical_analyzer/a?compiler?2/lex_input““r“);
????if(
評論
共有 條評論