]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/postscript.xml
1588b6272e0d587069ba1357790a0b0170ac0ba8
[factor.git] / basis / xmode / modes / postscript.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!-- PostScript mode, by Slava Pestov. Based on PostScriptTokenMarker by\r
6      Ralf Engels -->\r
7 <MODE>\r
8         <PROPS>\r
9                 <PROPERTY NAME="lineComment" VALUE="%" />\r
10         </PROPS>\r
11         <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
12                 <!-- Comments -->\r
13                 <EOL_SPAN TYPE="COMMENT2">%!</EOL_SPAN>\r
14                 <EOL_SPAN TYPE="COMMENT2">%?</EOL_SPAN>\r
15                 <EOL_SPAN TYPE="COMMENT2">%%</EOL_SPAN>\r
16                 <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
17 \r
18                 <!-- Literals -->\r
19                 <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
20                         <BEGIN>(</BEGIN>\r
21                         <END>)</END>\r
22                 </SPAN>\r
23 \r
24                 <SPAN TYPE="LITERAL1">\r
25                         <BEGIN>&lt;</BEGIN>\r
26                         <END>&gt;</END>\r
27                 </SPAN>\r
28 \r
29                 <MARK_FOLLOWING TYPE="LABEL">/</MARK_FOLLOWING>\r
30 \r
31                 <SEQ TYPE="OPERATOR">}</SEQ>\r
32                 <SEQ TYPE="OPERATOR">{</SEQ>\r
33                 <SEQ TYPE="OPERATOR">]</SEQ>\r
34                 <SEQ TYPE="OPERATOR">[</SEQ>\r
35 \r
36                 <KEYWORDS>\r
37                         <KEYWORD1>pop</KEYWORD1>\r
38                         <KEYWORD1>exch</KEYWORD1>\r
39                         <KEYWORD1>dup</KEYWORD1>\r
40                         <KEYWORD1>copy</KEYWORD1>\r
41                         <KEYWORD1>roll</KEYWORD1>\r
42                         <KEYWORD1>clear</KEYWORD1>\r
43                         <KEYWORD1>count</KEYWORD1>\r
44                         <KEYWORD1>mark</KEYWORD1>\r
45                         <KEYWORD1>cleartomark</KEYWORD1>\r
46                         <KEYWORD1>counttomark</KEYWORD1>\r
47 \r
48                         <KEYWORD1>exec</KEYWORD1>\r
49                         <KEYWORD1>if</KEYWORD1>\r
50                         <KEYWORD1>ifelse</KEYWORD1>\r
51                         <KEYWORD1>for</KEYWORD1>\r
52                         <KEYWORD1>repeat</KEYWORD1>\r
53                         <KEYWORD1>loop</KEYWORD1>\r
54                         <KEYWORD1>exit</KEYWORD1>\r
55                         <KEYWORD1>stop</KEYWORD1>\r
56                         <KEYWORD1>stopped</KEYWORD1>\r
57                         <KEYWORD1>countexecstack</KEYWORD1>\r
58                         <KEYWORD1>execstack</KEYWORD1>\r
59                         <KEYWORD1>quit</KEYWORD1>\r
60                         <KEYWORD1>start</KEYWORD1>\r
61 \r
62                         <OPERATOR>add</OPERATOR>\r
63                         <OPERATOR>div</OPERATOR>\r
64                         <OPERATOR>idiv</OPERATOR>\r
65                         <OPERATOR>mod</OPERATOR>\r
66                         <OPERATOR>mul</OPERATOR>\r
67                         <OPERATOR>sub</OPERATOR>\r
68                         <OPERATOR>abs</OPERATOR>\r
69                         <OPERATOR>ned</OPERATOR>\r
70                         <OPERATOR>ceiling</OPERATOR>\r
71                         <OPERATOR>floor</OPERATOR>\r
72                         <OPERATOR>round</OPERATOR>\r
73                         <OPERATOR>truncate</OPERATOR>\r
74                         <OPERATOR>sqrt</OPERATOR>\r
75                         <OPERATOR>atan</OPERATOR>\r
76                         <OPERATOR>cos</OPERATOR>\r
77                         <OPERATOR>sin</OPERATOR>\r
78                         <OPERATOR>exp</OPERATOR>\r
79                         <OPERATOR>ln</OPERATOR>\r
80                         <OPERATOR>log</OPERATOR>\r
81                         <OPERATOR>rand</OPERATOR>\r
82                         <OPERATOR>srand</OPERATOR>\r
83                         <OPERATOR>rrand</OPERATOR>\r
84 \r
85                         <LITERAL2>true</LITERAL2>\r
86                         <LITERAL2>false</LITERAL2>\r
87                         <LITERAL2>NULL</LITERAL2>\r
88                 </KEYWORDS>\r
89         </RULES>\r
90 \r
91         <RULES SET="LITERAL" DEFAULT="LITERAL1" ESCAPE="\">\r
92                 <SPAN TYPE="LITERAL1" DELEGATE="LITERAL">\r
93                         <BEGIN>(</BEGIN>\r
94                         <END>)</END>\r
95                 </SPAN>\r
96         </RULES>\r
97 </MODE>\r