type
TokenType=(
// ±£á ×
_AUTO, _BREAK, _CASE, _CHAR, _CONST, _CONTINUE, _DEFAULT,
_DO, _DOUBLE, _ELSE, _ENUM, _EXTERN, _FLOAT, _FOR,
_GOTO, _IF, _INT, _LONG, _REGISTER,_RETURN, _SHORT,
_SIGNED,_SIZEOF, _STATIC,_STRUCT,_SWITCH, _TYPEDEF, _UNION,
_UNSIGNED,_VOID, _VOLATILE,_WHILE,
//_READ, _WRITE, _PRINTF, // 2ù×÷·
_ASSIGN, _PLUS, _MINUS, _TIMES, _DIV, _MOD,
_BITWISE_AND, _BITWISE_OR, _BITWISE_NOT, _LOGICAL_NOT, _LT, _GT,_QUESTION,_SHARP, // interpunctions
_LPARAN, _RPARAN, _LBRACE, _RBRACE, _LSQUARE, _RSQUARE, _COMMA, _DOT, _SEMI, _COLON,_SINGLE_QUOTES,_DOUB_QUOTES, // complex operations
//==, != ++ -- += -= *=
_EQ , _NEQ , _PLUS_PLUS, _MINUS_MINUS, _PLUS_ASSIGN, _MINUS_ASSIGN, _TIMES_ASSIGN,
// /= , |= // /* */
_DIV_ASSIGN, _BIT_OR_ASSIGN, _LINE_COMMENT, _LCOMMENT, _RCOMMENT,
//<= >= && || >> << ->
_NGT , _NLT, _LOGICAL_AND, _LOGICAL_OR, _ARITH_RM, _ARITH_LM ,_POINTER,
// %= ^= >>= <<= &= ::
_MOD_ASSIGN,_NOT_ASSIGN, _ARITH_RM_ASSIGN , _ARITH_LM_ASSIGN ,_BIT_AND_ASSIGN ,_CLASS_BELONG,
// others
_EOF, _ID, _NUM, _STRING, _CHARACTER, _LABEL, _ERROR, _NONE); //==============
//==±£á × ±í,°üਠ÷ · o
//==============
ReservedWordTable=record
ReservedWord:string[30];
TokenType: set of TokenType;
end;const
ReservedKeywordList: array[0..31] of ReservedWordTable =
(
('auto',_AUTO], ('break',_BREAK), ('case',_CASE), ('char',_CHAR),
('const',_CONST), ('continue',_CONTINUE), ('default',_DEFAULT), ('do',_DO),
('double',_DOUBLE), ('else',_ELSE), ('enum',_ENUM), ('extern',_EXTERN),
('float',_FLOAT), ('for',_FOR), ('goto',_GOTO), ('if',_IF),
('int',_INT), ('long',_LONG), ('register',_REGISTER), ('return',_RETURN),
('short',_SHORT), ('signed',_SIGNED), ('sizeof',_SIZEOF), ('static',_STATIC),
('struct',_STRUCT), ('switch',_SWITCH), ('typedef',_TYPEDEF), ('union',_UNION),
('unsigned',_UNSIGNED), ('void',_VOID), ('volatile',_VOLATILE), ('while',_WHILE),
);现在到了const
ReservedKeywordList: array[0..31] of ReservedWordTable =
()
这里就出现错误,请问各位怎么解决这个赋值问题.
TokenType=(
// ±£á ×
_AUTO, _BREAK, _CASE, _CHAR, _CONST, _CONTINUE, _DEFAULT,
_DO, _DOUBLE, _ELSE, _ENUM, _EXTERN, _FLOAT, _FOR,
_GOTO, _IF, _INT, _LONG, _REGISTER,_RETURN, _SHORT,
_SIGNED,_SIZEOF, _STATIC,_STRUCT,_SWITCH, _TYPEDEF, _UNION,
_UNSIGNED,_VOID, _VOLATILE,_WHILE,
//_READ, _WRITE, _PRINTF, // 2ù×÷·
_ASSIGN, _PLUS, _MINUS, _TIMES, _DIV, _MOD,
_BITWISE_AND, _BITWISE_OR, _BITWISE_NOT, _LOGICAL_NOT, _LT, _GT,_QUESTION,_SHARP, // interpunctions
_LPARAN, _RPARAN, _LBRACE, _RBRACE, _LSQUARE, _RSQUARE, _COMMA, _DOT, _SEMI, _COLON,_SINGLE_QUOTES,_DOUB_QUOTES, // complex operations
//==, != ++ -- += -= *=
_EQ , _NEQ , _PLUS_PLUS, _MINUS_MINUS, _PLUS_ASSIGN, _MINUS_ASSIGN, _TIMES_ASSIGN,
// /= , |= // /* */
_DIV_ASSIGN, _BIT_OR_ASSIGN, _LINE_COMMENT, _LCOMMENT, _RCOMMENT,
//<= >= && || >> << ->
_NGT , _NLT, _LOGICAL_AND, _LOGICAL_OR, _ARITH_RM, _ARITH_LM ,_POINTER,
// %= ^= >>= <<= &= ::
_MOD_ASSIGN,_NOT_ASSIGN, _ARITH_RM_ASSIGN , _ARITH_LM_ASSIGN ,_BIT_AND_ASSIGN ,_CLASS_BELONG,
// others
_EOF, _ID, _NUM, _STRING, _CHARACTER, _LABEL, _ERROR, _NONE); //==============
//==±£á × ±í,°üਠ÷ · o
//==============
ReservedWordTable=record
ReservedWord:string[30];
TokenType: set of TokenType;
end;const
ReservedKeywordList: array[0..31] of ReservedWordTable =
(
('auto',_AUTO], ('break',_BREAK), ('case',_CASE), ('char',_CHAR),
('const',_CONST), ('continue',_CONTINUE), ('default',_DEFAULT), ('do',_DO),
('double',_DOUBLE), ('else',_ELSE), ('enum',_ENUM), ('extern',_EXTERN),
('float',_FLOAT), ('for',_FOR), ('goto',_GOTO), ('if',_IF),
('int',_INT), ('long',_LONG), ('register',_REGISTER), ('return',_RETURN),
('short',_SHORT), ('signed',_SIGNED), ('sizeof',_SIZEOF), ('static',_STATIC),
('struct',_STRUCT), ('switch',_SWITCH), ('typedef',_TYPEDEF), ('union',_UNION),
('unsigned',_UNSIGNED), ('void',_VOID), ('volatile',_VOLATILE), ('while',_WHILE),
);现在到了const
ReservedKeywordList: array[0..31] of ReservedWordTable =
()
这里就出现错误,请问各位怎么解决这个赋值问题.
解决方案 »
- 咨询一下,一般软件的中英文界面切换怎么做?
- 各位,请问如何在Delphi中使用SQL Anywhere数据库?
- 请问如何在我和程序中做到网页的自动登陆,就像是从QQ中登陆QQ的网站那个样子
- 怎样前导0输出Integer类型转换后的字符啊?
- 数据库合并问题,在这边也贴出来,大家帮忙看看
- 那里有陈宽达的《深度历险》的源代码?
- 安装delphi6时:interbase 6 server 和 interbase 6 desktop edition有何区别?
- 有关报表问题
- Sybase的语句在Delphi里用不了?
- isc组件中的TSSLHTTPCli进行post提交数据
- 如何获取OLE对象焦点切换时的消息?
- 当点‘+’的时候如何得到 TreeView 展开项的索引???
ReservedKeywordList: array[0..31] of ReservedWordTable =
(
('auto',_AUTO), ('break',_BREAK), ('case',_CASE), ('char',_CHAR),
('const',_CONST), ('continue',_CONTINUE), ('default',_DEFAULT), ('do',_DO),
('double',_DOUBLE), ('else',_ELSE), ('enum',_ENUM), ('extern',_EXTERN),
('float',_FLOAT), ('for',_FOR), ('goto',_GOTO), ('if',_IF),
('int',_INT), ('long',_LONG), ('register',_REGISTER), ('return',_RETURN),
('short',_SHORT), ('signed',_SIGNED), ('sizeof',_SIZEOF), ('static',_STATIC),
('struct',_STRUCT), ('switch',_SWITCH), ('typedef',_TYPEDEF), ('union',_UNION),
('unsigned',_UNSIGNED), ('void',_VOID), ('volatile',_VOLATILE), ('while',_WHILE),
);
ReservedKeywordList: array[0..31] of ReservedWordTable =
(
(ReservedWord:'auto';TokenType[_AUTO]),.....
(ReservedWord: 'auto ';TokenType:[_AUTO]),.....少了个: 看DELPHI的例子:
type TPoint = record
X, Y: Single;
end;
TVector = array[0..1] of TPoint;
TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
TDate = record
D: 1..31;
M: TMonth;
Y: 1900..1999;
end;
const
Origin: TPoint = (X: 0.0; Y: 0.0);
Line: TVector = ((X: -3.1; Y: 1.5), (X: 5.8; Y: 3.0));
SomeDay: TDate = (D: 2; M: Dec; Y: 1960);
(
(ReservedWord: 'auto ';TokenType[_AUTO]), (ReservedWord:'break';TokenType[_BREAK])
);这样还是有问题啊Build
[Error] Unit1.pas(48): ':' expected but '[' found
[Error] Unit1.pas(48): ':' expected but '[' found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
谢谢楼主了
private:
enum BSearchType {_TYPESYMBOLTABLE,_TYPEKEYWORDTABLE};请问一下,这个在类中如何定义?