missing ';' before identifier 'tokenEnum'小白痴求帮助T^T
程序媛雪利 2012-11-18 08:42:56 这个问题应该比较白痴。。。我一小白找了半天实在不知道哪错了。。。贴部分代码求帮助。。。
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
enum Token_Type // 记号的类别,共22个
{ ORIGIN, SCALE, ROT, IS, // 保留字(一字一码)
TO, STEP, DRAW,FOR, FROM, // 保留字
T, // 参数
SEMICO, L_BRACKET, R_BRACKET, COMMA,// 分隔符
PLUS, MINUS, MUL, DIV, POWER, // 运算符
FUNC, // 函数(调用)
CONST_ID, // 常数
NONTOKEN, // 空记号(源程序结束)
ERRTOKEN // 出错记号(非法输入)
};
typedef struct Token // 记号的数据结构
{ Token_Type type; // 类别
char * lexeme; // 属性,原始输入的字符串
double value; // 属性,若记号是常数则是常数的值
double (* FuncPtr)(double); // 属性,若记号是函数则是函数指针
}Token;
static Token TokenTab[]=
{
{CONST_ID,"PI", 3.1415926, NULL},//0
{CONST_ID,"E", 2.71828, NULL},//1
{T, "T", 0.0, NULL},//2
{FUNC, "SIN", 0.0, sin},//3
{FUNC, "COS", 0.0, cos},//4
{FUNC, "TAN", 0.0, tan},//5
{FUNC, "LN", 0.0, log},//6
{FUNC, "EXP", 0.0, exp},//7
{FUNC, "SQRT", 0.0, sqrt},//8
{ORIGIN, "ORIGIN",0.0, NULL},//9
{SCALE, "SCALE", 0.0, NULL},//10
{ROT, "ROT", 0.0, NULL},//11
{IS, "IS", 0.0, NULL},//12
{FOR, "FOR", 0.0, NULL},//13
{FROM, "FROM", 0.0, NULL},//14
{TO, "TO", 0.0, NULL},//15
{STEP, "STEP", 0.0, NULL},//16
{DRAW, "DRAW", 0.0, NULL},//17
{SEMICO, ";", 0.0, NULL},//18
{L_BRACKET,"(", 0.0, NULL},//19
{R_BRACKET,")", 0.0, NULL},//20
{COMMA, ",", 0.0, NULL},//21
{PLUS, "+", 0.0, NULL},//22
{MINUS, "-", 0.0, NULL},//23
{MUL, "*", 0.0, NULL},//24
{DIV, "/", 0.0, NULL},//25
{POWER, "**", 0.0, NULL}//26
};
string tokenEnum[] =
{
"CONST_ID","CONST_ID",
"T",
"FUNC","FUNC","FUNC","FUNC","FUNC","FUNC",
"ORIGIN","SCALE","ROT","IS","FOR","FROM","TO","STEP","DRAW",
"SEMICO","L_BRACKET","R_BRACKET","COMMA","PLUS","MINUS","MUL","DIV","POWER"
};
H:\Programme\编译原理WK\LexicalAnalyzer\LA.CPP(56) : error C2146: syntax error : missing ';' before identifier 'tokenEnum'
H:\Programme\编译原理WK\LexicalAnalyzer\LA.CPP(56) : error C2501: 'string' : missing storage-class or type specifiers
H:\Programme\编译原理WK\LexicalAnalyzer\LA.CPP(56) : fatal error C1004: unexpected end of file found
错误标记都指在“string tokenEnum[] = ”这一行(56行)