#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<fstream>
#include<string>
#include<cmath>
using namespace std;
struct token//token結(jié)構(gòu)體
{
int code;
int num;
token *next;
};
token *token_head,*token_tail;//token隊(duì)列
struct number//number結(jié)構(gòu)體
{
int num;
int value;
number *next;
};
number *number_head,*number_tail;//number隊(duì)列
struct str//string結(jié)構(gòu)體
{
int num;
string word;
str *next;
};
str *string_head,*string_tail;//string隊(duì)列
void scan();//按字符讀取源文件
int judge(char ch);//判斷輸入字符的類型
void out1(char ch);//寫入token.txt
void out2(char ch,string word);//寫入number.txt
void out3(char ch,string word);//寫入string.txt
void input1(token *temp);//插入結(jié)點(diǎn)到隊(duì)列token
void input2(number *temp);//插入結(jié)點(diǎn)到隊(duì)列number
void input3(str *temp);//插入結(jié)點(diǎn)到隊(duì)列string
void output();//輸出三個(gè)隊(duì)列的內(nèi)容
void outfile();//輸出三個(gè)隊(duì)列的內(nèi)容到相應(yīng)文件中
FILE *fp;//文件
int wordcount;//標(biāo)志符計(jì)數(shù)
int numcount;//整型常數(shù)計(jì)數(shù)
int err;//標(biāo)志詞法分析結(jié)果正確或錯(cuò)誤
int nl;//讀取行數(shù)
……………………………………
聯(lián)系客服