123456789101112131415161718192021222324252627282930313233343536 |
- program Test;
- type
- TToken = (
- tkNil,tkEOF,tkNumber,tkOpenBrace,tkCloseBrace,
- tkPlus,tkMinus,tkTimes,tkSlash,tkCaret,tkSemiColon
- );
- function TokenToStr(const Token: TToken): String;
- function Quote(const S: String): String;
- inline; // comment out to avoid the internal error
- begin
- Quote:='"'+S+'"';
- end;
- begin
- case Token of
- tkNil : TokenToStr:=Quote('Unknown');
- tkEOF : TokenToStr:=Quote('EOF');
- tkNumber : TokenToStr:=Quote('Number');
- tkOpenBrace : TokenToStr:=Quote('(');
- tkCloseBrace: TokenToStr:=Quote(')');
- tkPlus : TokenToStr:=Quote('+');
- tkMinus : TokenToStr:=Quote('-');
- tkTimes : TokenToStr:=Quote('*');
- tkSlash : TokenToStr:=Quote('/');
- tkCaret : TokenToStr:=Quote('^');
- tkSemiColon : TokenToStr:=Quote(';');
- end;
- end;
- begin
- if (TokenToStr(tkNil)<>'"Unknown"') then
- halt(1);
- end.
|