资源简介

编译原理课程设计的第一部分,一个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(

评论

共有 条评论