編譯程式初級,詞法分析

2021-04-12 22:40:01 字數 1296 閱讀 1088

#include

#include

char prog[80],token[8];

char ch;

int syn,p,m,n,sum;

char *rwtab[6]=;

scaner();

void main()

while(ch!='#');

p=0;do}

while(syn!=0);

}scaner()

token[m++]='/0';

p--;

syn=10;

for(n=0;n<6;n++)

if(strcmp(token,rwtab[n])==0)

}else

if(ch>='0'&&ch<='9')

ch=prog[p--];

syn=11;

}else

switch(ch)

else if(ch=='=')

else

break;

case'>':

m=0;

token[m++]=ch;

ch=prog[p++];

if(ch=='=')

else

break;

case':':

m=0;

token[m++]=ch;

ch=prog[p++];

if(ch=='=')

else

break;

case'+':

syn=13;

token[0]=ch;

break;

case'-':

syn=14;

token[0]=ch;

break;

case'*':

syn=15;

token[0]=ch;

break;

case'/':

syn=16;

token[0]=ch;

break;

case';':

syn=26;

token[0]=ch;

break;

case'(':

syn=27;

token[0]=ch;

break;

case')':

syn=29;

token[0]=ch;

break;

case'#':

syn=0;

token[0]=ch;

break;

default:

syn=-1;}} 

編譯原理詞法分析程式

include include char prog 80 token 8 char ch int syn,p,m,n,sum char rwtab 6 void scaner token m 0 p 回退乙個字元 syn 10 for n 0 n 6 n if strcmp token,rwtab ...

編譯原理詞法分析程式

include include char scanin 300 scanout 300 extern int testscan char scanin 300 scanout 300 file fin,fout 指向輸入輸出檔案的指標 int main include include include...

GCC編譯程式

gcc gnu compiler collection 是linux下最主要的一種編譯工具。gcc編譯格式 gcc 選項 源檔名 選項 目標檔名 採用預設得方式編譯原始檔,系統會生成a.out可執行檔案 採用顯式編譯成目標檔案,在編譯成可執行檔案 gcc c hello.c 生成hello.o gc...