Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/vhdl.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
1 <lexer> | |
2 <config> | |
3 <name>VHDL</name> | |
4 <alias>vhdl</alias> | |
5 <filename>*.vhdl</filename> | |
6 <filename>*.vhd</filename> | |
7 <mime_type>text/x-vhdl</mime_type> | |
8 <case_insensitive>true</case_insensitive> | |
9 </config> | |
10 <rules> | |
11 <state name="root"> | |
12 <rule pattern="\n"> | |
13 <token type="Text"/> | |
14 </rule> | |
15 <rule pattern="\s+"> | |
16 <token type="Text"/> | |
17 </rule> | |
18 <rule pattern="\\\n"> | |
19 <token type="Text"/> | |
20 </rule> | |
21 <rule pattern="--.*?$"> | |
22 <token type="CommentSingle"/> | |
23 </rule> | |
24 <rule pattern="'(U|X|0|1|Z|W|L|H|-)'"> | |
25 <token type="LiteralStringChar"/> | |
26 </rule> | |
27 <rule pattern="[~!%^&*+=|?:<>/-]"> | |
28 <token type="Operator"/> | |
29 </rule> | |
30 <rule pattern="'[a-z_]\w*"> | |
31 <token type="NameAttribute"/> | |
32 </rule> | |
33 <rule pattern="[()\[\],.;\']"> | |
34 <token type="Punctuation"/> | |
35 </rule> | |
36 <rule pattern=""[^\n\\"]*""> | |
37 <token type="LiteralString"/> | |
38 </rule> | |
39 <rule pattern="(library)(\s+)([a-z_]\w*)"> | |
40 <bygroups> | |
41 <token type="Keyword"/> | |
42 <token type="Text"/> | |
43 <token type="NameNamespace"/> | |
44 </bygroups> | |
45 </rule> | |
46 <rule pattern="(use)(\s+)(entity)"> | |
47 <bygroups> | |
48 <token type="Keyword"/> | |
49 <token type="Text"/> | |
50 <token type="Keyword"/> | |
51 </bygroups> | |
52 </rule> | |
53 <rule pattern="(use)(\s+)([a-z_][\w.]*\.)(all)"> | |
54 <bygroups> | |
55 <token type="Keyword"/> | |
56 <token type="Text"/> | |
57 <token type="NameNamespace"/> | |
58 <token type="Keyword"/> | |
59 </bygroups> | |
60 </rule> | |
61 <rule pattern="(use)(\s+)([a-z_][\w.]*)"> | |
62 <bygroups> | |
63 <token type="Keyword"/> | |
64 <token type="Text"/> | |
65 <token type="NameNamespace"/> | |
66 </bygroups> | |
67 </rule> | |
68 <rule pattern="(std|ieee)(\.[a-z_]\w*)"> | |
69 <bygroups> | |
70 <token type="NameNamespace"/> | |
71 <token type="NameNamespace"/> | |
72 </bygroups> | |
73 </rule> | |
74 <rule pattern="(ieee|work|std)\b"> | |
75 <token type="NameNamespace"/> | |
76 </rule> | |
77 <rule pattern="(entity|component)(\s+)([a-z_]\w*)"> | |
78 <bygroups> | |
79 <token type="Keyword"/> | |
80 <token type="Text"/> | |
81 <token type="NameClass"/> | |
82 </bygroups> | |
83 </rule> | |
84 <rule pattern="(architecture|configuration)(\s+)([a-z_]\w*)(\s+)(of)(\s+)([a-z_]\w*)(\s+)(is)"> | |
85 <bygroups> | |
86 <token type="Keyword"/> | |
87 <token type="Text"/> | |
88 <token type="NameClass"/> | |
89 <token type="Text"/> | |
90 <token type="Keyword"/> | |
91 <token type="Text"/> | |
92 <token type="NameClass"/> | |
93 <token type="Text"/> | |
94 <token type="Keyword"/> | |
95 </bygroups> | |
96 </rule> | |
97 <rule pattern="([a-z_]\w*)(:)(\s+)(process|for)"> | |
98 <bygroups> | |
99 <token type="NameClass"/> | |
100 <token type="Operator"/> | |
101 <token type="Text"/> | |
102 <token type="Keyword"/> | |
103 </bygroups> | |
104 </rule> | |
105 <rule pattern="(end)(\s+)"> | |
106 <bygroups> | |
107 <token type="Keyword"/> | |
108 <token type="Text"/> | |
109 </bygroups> | |
110 <push state="endblock"/> | |
111 </rule> | |
112 <rule> | |
113 <include state="types"/> | |
114 </rule> | |
115 <rule> | |
116 <include state="keywords"/> | |
117 </rule> | |
118 <rule> | |
119 <include state="numbers"/> | |
120 </rule> | |
121 <rule pattern="[a-z_]\w*"> | |
122 <token type="Name"/> | |
123 </rule> | |
124 </state> | |
125 <state name="endblock"> | |
126 <rule> | |
127 <include state="keywords"/> | |
128 </rule> | |
129 <rule pattern="[a-z_]\w*"> | |
130 <token type="NameClass"/> | |
131 </rule> | |
132 <rule pattern="(\s+)"> | |
133 <token type="Text"/> | |
134 </rule> | |
135 <rule pattern=";"> | |
136 <token type="Punctuation"/> | |
137 <pop depth="1"/> | |
138 </rule> | |
139 </state> | |
140 <state name="types"> | |
141 <rule pattern="(std_ulogic_vector|file_open_status|std_logic_vector|severity_level|file_open_kind|delay_length|std_ulogic|bit_vector|character|std_logic|positive|unsigned|boolean|natural|integer|signed|string|time|bit)\b"> | |
142 <token type="KeywordType"/> | |
143 </rule> | |
144 </state> | |
145 <state name="keywords"> | |
146 <rule pattern="(configuration|architecture|disconnect|attribute|transport|postponed|procedure|component|function|variable|severity|constant|generate|register|inertial|package|library|guarded|linkage|generic|subtype|process|literal|record|entity|others|shared|signal|downto|access|assert|return|reject|buffer|impure|select|elsif|inout|until|label|range|group|units|begin|array|alias|after|block|while|null|next|file|when|wait|open|nand|exit|then|case|port|type|loop|else|pure|with|xnor|body|not|rem|bus|rol|ror|xor|abs|end|and|sla|sll|sra|srl|all|out|nor|mod|map|for|new|use|or|on|of|in|if|is|to)\b"> | |
147 <token type="Keyword"/> | |
148 </rule> | |
149 </state> | |
150 <state name="numbers"> | |
151 <rule pattern="\d{1,2}#[0-9a-f_]+#?"> | |
152 <token type="LiteralNumberInteger"/> | |
153 </rule> | |
154 <rule pattern="\d+"> | |
155 <token type="LiteralNumberInteger"/> | |
156 </rule> | |
157 <rule pattern="(\d+\.\d*|\.\d+|\d+)E[+-]?\d+"> | |
158 <token type="LiteralNumberFloat"/> | |
159 </rule> | |
160 <rule pattern="X"[0-9a-f_]+""> | |
161 <token type="LiteralNumberHex"/> | |
162 </rule> | |
163 <rule pattern="O"[0-7_]+""> | |
164 <token type="LiteralNumberOct"/> | |
165 </rule> | |
166 <rule pattern="B"[01_]+""> | |
167 <token type="LiteralNumberBin"/> | |
168 </rule> | |
169 </state> | |
170 </rules> | |
171 </lexer> |