]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/vhdl.xml
a5d6dcee58207d0fdb399df78f1bd810ec67b930
[factor.git] / basis / xmode / modes / vhdl.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!-- VHDL mode, contributed by Dante Fabrizio and Nitsan Vardi -->\r
4 \r
5 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
6 \r
7 <MODE>\r
8         <PROPS>\r
9                 <PROPERTY NAME="label" VALUE="VHDL" />\r
10                 <PROPERTY NAME="lineComment" VALUE="--" />\r
11         </PROPS>\r
12         <RULES ESCAPE="\" IGNORE_CASE="TRUE">\r
13                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
14                         <BEGIN>"</BEGIN>\r
15                         <END>"</END>\r
16                 </SPAN>\r
17 \r
18                 <SEQ TYPE="NULL">'event</SEQ>\r
19 \r
20                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
21                         <BEGIN>'</BEGIN>\r
22                         <END>'</END>\r
23                 </SPAN>\r
24 \r
25                 <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>\r
26                 <SEQ TYPE="OPERATOR">=</SEQ>\r
27                 <SEQ TYPE="OPERATOR">/=</SEQ>\r
28                 <SEQ TYPE="OPERATOR">!</SEQ>\r
29                 <SEQ TYPE="OPERATOR">:</SEQ>\r
30                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
31                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
32                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
33                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
34                 <SEQ TYPE="OPERATOR">+</SEQ>\r
35                 <SEQ TYPE="OPERATOR">-</SEQ>\r
36                 <SEQ TYPE="OPERATOR">/</SEQ>\r
37                 <SEQ TYPE="OPERATOR">*</SEQ>\r
38 \r
39                 <SEQ TYPE="OPERATOR">**</SEQ>\r
40                 <SEQ TYPE="OPERATOR">%</SEQ>\r
41                 <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
42                 <SEQ TYPE="OPERATOR">|</SEQ>\r
43                 <SEQ TYPE="OPERATOR">^</SEQ>\r
44                 <SEQ TYPE="OPERATOR">~</SEQ>\r
45                 <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"\r
46                         AT_LINE_START="FALSE">: </MARK_PREVIOUS>\r
47 \r
48                 <KEYWORDS>\r
49                         <KEYWORD1>architecture</KEYWORD1>\r
50                         <KEYWORD1>alias</KEYWORD1>\r
51                         <KEYWORD1>assert</KEYWORD1>\r
52                         <KEYWORD1>entity</KEYWORD1>\r
53                         <KEYWORD1>process</KEYWORD1>\r
54                         <KEYWORD1>variable</KEYWORD1>\r
55                         <KEYWORD1>signal</KEYWORD1>\r
56                         <KEYWORD1>function</KEYWORD1>\r
57                         <KEYWORD1>generic</KEYWORD1>\r
58                         <KEYWORD1>in</KEYWORD1>\r
59                         <KEYWORD1>out</KEYWORD1>\r
60                         <KEYWORD1>inout</KEYWORD1>\r
61                         <KEYWORD1>begin</KEYWORD1>\r
62                         <KEYWORD1>end</KEYWORD1>\r
63                         <KEYWORD1>component</KEYWORD1>\r
64                         <KEYWORD1>use</KEYWORD1>\r
65                         <KEYWORD1>library</KEYWORD1>\r
66                         <KEYWORD1>loop</KEYWORD1>\r
67                         <KEYWORD1>constant</KEYWORD1>\r
68                         <KEYWORD1>break</KEYWORD1>\r
69                         <KEYWORD1>case</KEYWORD1>\r
70                         <KEYWORD1>port</KEYWORD1>\r
71                         <KEYWORD1>is</KEYWORD1>\r
72                         <KEYWORD1>to</KEYWORD1>\r
73                         <KEYWORD1>of</KEYWORD1>\r
74                         <KEYWORD1>array</KEYWORD1>\r
75                         <KEYWORD1>catch</KEYWORD1>\r
76                         <KEYWORD1>continue</KEYWORD1>\r
77                         <KEYWORD1>default</KEYWORD1>\r
78                         <KEYWORD1>do</KEYWORD1>\r
79                         <KEYWORD1>else</KEYWORD1>\r
80                         <KEYWORD1>elsif</KEYWORD1>\r
81                         <KEYWORD1>when</KEYWORD1>\r
82                         <KEYWORD1>then</KEYWORD1>\r
83                         <KEYWORD1>downto</KEYWORD1>\r
84                         <KEYWORD1>upto</KEYWORD1>\r
85                         <KEYWORD1>extends</KEYWORD1>\r
86                         <KEYWORD1>for</KEYWORD1>\r
87                         <KEYWORD1>if</KEYWORD1>\r
88                         <KEYWORD1>implements</KEYWORD1>\r
89                         <KEYWORD1>instanceof</KEYWORD1>\r
90                         <KEYWORD1>return</KEYWORD1>\r
91                         <KEYWORD1>static</KEYWORD1>\r
92                         <KEYWORD1>switch</KEYWORD1>\r
93                         <KEYWORD1>type</KEYWORD1>\r
94                         <KEYWORD1>while</KEYWORD1>\r
95                         <KEYWORD1>others</KEYWORD1>\r
96                         <KEYWORD1>all</KEYWORD1>\r
97                         <KEYWORD1>record</KEYWORD1>\r
98                         <KEYWORD1>range</KEYWORD1>\r
99                         <KEYWORD1>wait</KEYWORD1>\r
100 \r
101                         <KEYWORD2>package</KEYWORD2>\r
102                         <KEYWORD2>import</KEYWORD2>\r
103                         <KEYWORD2>std_logic</KEYWORD2>\r
104                         <KEYWORD2>std_ulogic</KEYWORD2>\r
105                         <KEYWORD2>std_logic_vector</KEYWORD2>\r
106                         <KEYWORD2>std_ulogic_vector</KEYWORD2>\r
107                         <KEYWORD2>integer</KEYWORD2>\r
108                         <KEYWORD2>natural</KEYWORD2>\r
109                         <KEYWORD2>bit</KEYWORD2>\r
110                         <KEYWORD2>bit_vector</KEYWORD2>\r
111 \r
112 \r
113                         <OPERATOR>or</OPERATOR>\r
114                         <OPERATOR>nor</OPERATOR>\r
115                         <OPERATOR>not</OPERATOR>\r
116                         <OPERATOR>nand</OPERATOR>\r
117                         <OPERATOR>and</OPERATOR>\r
118                         <OPERATOR>xnor</OPERATOR>\r
119                         <OPERATOR>sll</OPERATOR>\r
120                         <OPERATOR>srl</OPERATOR>\r
121                         <OPERATOR>sla</OPERATOR>\r
122                         <OPERATOR>sra</OPERATOR>\r
123                         <OPERATOR>rol</OPERATOR>\r
124                         <OPERATOR>ror</OPERATOR>\r
125                         <OPERATOR>or</OPERATOR>\r
126                         <OPERATOR>or</OPERATOR>\r
127                         <OPERATOR>mod</OPERATOR>\r
128                         <OPERATOR>rem</OPERATOR>\r
129                         <OPERATOR>abs</OPERATOR>\r
130 \r
131                         <KEYWORD3>EVENT</KEYWORD3>\r
132                         <KEYWORD3>BASE</KEYWORD3>\r
133                         <KEYWORD3>LEFT</KEYWORD3>\r
134                         <KEYWORD3>RIGHT</KEYWORD3>\r
135                         <KEYWORD3>LOW</KEYWORD3>\r
136                         <KEYWORD3>HIGH</KEYWORD3>\r
137                         <KEYWORD3>ASCENDING</KEYWORD3>\r
138                         <KEYWORD3>IMAGE</KEYWORD3>\r
139                         <KEYWORD3>VALUE</KEYWORD3>\r
140                         <KEYWORD3>POS</KEYWORD3>\r
141                         <KEYWORD3>VAL</KEYWORD3>\r
142                         <KEYWORD3>SUCC</KEYWORD3>\r
143                         <KEYWORD3>VAL</KEYWORD3>\r
144                         <KEYWORD3>POS</KEYWORD3>\r
145                         <KEYWORD3>PRED</KEYWORD3>\r
146                         <KEYWORD3>VAL</KEYWORD3>\r
147                         <KEYWORD3>POS</KEYWORD3>\r
148                         <KEYWORD3>LEFTOF</KEYWORD3>\r
149                         <KEYWORD3>RIGHTOF</KEYWORD3>\r
150                         <KEYWORD3>LEFT</KEYWORD3>\r
151                         <KEYWORD3>RIGHT</KEYWORD3>\r
152                         <KEYWORD3>LOW</KEYWORD3>\r
153                         <KEYWORD3>HIGH</KEYWORD3>\r
154                         <KEYWORD3>RANGE</KEYWORD3>\r
155                         <KEYWORD3>REVERSE</KEYWORD3>\r
156                         <KEYWORD3>LENGTH</KEYWORD3>\r
157                         <KEYWORD3>ASCENDING</KEYWORD3>\r
158                         <KEYWORD3>DELAYED</KEYWORD3>\r
159                         <KEYWORD3>STABLE</KEYWORD3>\r
160                         <KEYWORD3>QUIET</KEYWORD3>\r
161                         <KEYWORD3>TRANSACTION</KEYWORD3>\r
162                         <KEYWORD3>EVENT</KEYWORD3>\r
163                         <KEYWORD3>ACTIVE</KEYWORD3>\r
164                         <KEYWORD3>LAST</KEYWORD3>\r
165                         <KEYWORD3>LAST</KEYWORD3>\r
166                         <KEYWORD3>LAST</KEYWORD3>\r
167                         <KEYWORD3>DRIVING</KEYWORD3>\r
168                         <KEYWORD3>DRIVING</KEYWORD3>\r
169                         <KEYWORD3>SIMPLE</KEYWORD3>\r
170                         <KEYWORD3>INSTANCE</KEYWORD3>\r
171                         <KEYWORD3>PATH</KEYWORD3>\r
172 \r
173                         <FUNCTION>rising_edge</FUNCTION>\r
174                         <FUNCTION>shift_left</FUNCTION>\r
175                         <FUNCTION>shift_right</FUNCTION>\r
176                         <FUNCTION>rotate_left</FUNCTION>\r
177                         <FUNCTION>rotate_right</FUNCTION>\r
178                         <FUNCTION>resize</FUNCTION>\r
179                         <FUNCTION>std_match</FUNCTION>\r
180                         <FUNCTION>to_integer</FUNCTION>\r
181                         <FUNCTION>to_unsigned</FUNCTION>\r
182                         <FUNCTION>to_signed</FUNCTION>\r
183                         <FUNCTION>unsigned</FUNCTION>\r
184                         <FUNCTION>signed</FUNCTION>\r
185                         <FUNCTION>to_bit</FUNCTION>\r
186                         <FUNCTION>to_bitvector</FUNCTION>\r
187                         <FUNCTION>to_stdulogic</FUNCTION>\r
188                         <FUNCTION>to_stdlogicvector</FUNCTION>\r
189                         <FUNCTION>to_stdulogicvector</FUNCTION>\r
190 \r
191                         <LITERAL2>false</LITERAL2>\r
192                         <LITERAL2>true</LITERAL2>\r
193                 </KEYWORDS>\r
194         </RULES>\r
195 </MODE>\r