/usr/share/doc/pretzel/examples/contrib/aj/gcl.ft is in pretzel 2.0n-2-0.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | %{
char *typeset_pred(char *pred);
%}
%%
"(" OPEN
"[" OPEN
")" CLOSE
"]" CLOSE
";" SEMI { ";" }
".." DOTDOT
"." DOT
"," COMMA { ", " }
"##" BLOCK { "$[]$" }
"-->" ARROW { "$\\longrightarrow$" }
":" COLON { " : " }
":=" BECOMES { "$\\leftarrow$" }
"skip" SKIP { "\\underline{\\bf skip}" }
"abort" ABORT { "\\underline{\\bf abort}" }
"array" ARRAY { "{\\bf array}" }
"of" OF { "{\\bf of}" }
"do" DO { "\\underline{\\bf do}" }
"od" OD { "\\underline{\\bf od}" }
"if" IF { "\\underline{\\bf if}" }
"fi" FI { "\\underline{\\bf fi}" }
"|[" OPENBLOCK { "$|[$" }
"]|" CLOSEBLOCK { "$]|$" }
"!" UNARY_OP { "$\\neg$" }
"~" UNARY_OP { "$\\neg$" }
"-" MINUS
"<" BINARY_OP { "$<$" }
">" BINARY_OP { "$>$" }
"<=" BINARY_OP { "$\\leq$" }
">=" BINARY_OP { "$\\geq$" }
"+" BINARY_OP
"*" BINARY_OP { "$\\times$" }
"/" BINARY_OP { "\\underline{\\bf div}" }
"div" BINARY_OP { "\\underline{\\bf div}" }
"%" BINARY_OP { "\\underline{\\bf mod}" }
"mod" BINARY_OP { "\\underline{\\bf mod}" }
"=" BINARY_OP { "$=$" }
"==" BINARY_OP { "$=$" }
"!=" BINARY_OP { "$\\neq$" }
"/=" BINARY_OP { "$\\neq$" }
"max" BINARY_OP { "\\underline{\\bf max}" }
"min" BINARY_OP { "\\underline{\\bf min}" }
"var" ACCESS { "\\underline{\\bf var}" }
"con" ACCESS { "\\underline{\\bf con}" }
"swap" SWAP { "\\underline{\\bf swap}" }
"int" TYPE { "{\\bf integer}" }
"integer" TYPE { "{\\bf integer}" }
"bool" TYPE { "{\\bf boolean}" }
"boolean" TYPE { "{\\bf boolean}" }
[a-zA-Z]+ ID { "$\\mathit{" ** "}$" }
[0-9][0-9]* NUMBER { "$" ** "$" }
"{>".*"<}" PREDICATE { "$\\{" [create(typeset_pred(yytext))] " \\}$" }
^"@use\ ".* CHUNK { "\n" ** "\n" }
[\t\ \n]
|