summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw14174.pp
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.