#include "stdafx.h"
#include <stdio.h>
#include <io.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
#include <malloc.h>
FILE *fp;
char cbuffer;
char *key[21]={"and","begin","const","diu","do","else","end",
"function","if","integer","not","or","procedure",
"program","read","real","then","type","var","while",
"write"};
char *border[8]={",",";",":",".","(",")","[","]"};
char *arithmetic[4]={"+","-","*","/"};
char *relation[10]={"=","<",">","<>","<=",">=",":=","{","}","#"};
char *consts[20];
char *label[20];
int constnum=0,labelnum=0,linenum=1,colnum=0;
int search(char searchchar[],int wordtype)
{
int i=0;
switch (wordtype) //判断字符是否匹配
{
case 1:for (i=0;i<=20;i++)
{
if (strcmp(key[i],searchchar)==0)
{
return(i+1);}
};
case 2:
{
for (i=0;i<=7;i++)
{
if (strcmp(border[i],searchchar)==0)
return(i+24);
}
return(0);
};
case 3:
{
for (i=0;i<=3;i++)
{
if (strcmp(arithmetic[i],searchchar)==0)
{
return(i+35);
}
}
return(0);
};
case 4:
{
for (i=0;i<=9;i++)
{
if (strcmp(relation[i],searchchar)==0)
评论0