blob: bb696e011c78e79c2ca583d754c5cc5568ab26b9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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.
|