Skip to content

Commit d1a5ce3

Browse files
authoredMar 14, 2022
VHDL: Add private, view keywords; Distinguish attribute from keyword (#3389)
1 parent ef0ec02 commit d1a5ce3

File tree

5 files changed

+40
-79
lines changed

5 files changed

+40
-79
lines changed
 

Diff for: ‎components/prism-vhdl.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ Prism.languages.vhdl = {
1111
alias: 'function'
1212
},
1313
'string': /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,
14-
'constant': /\b(?:library|use)\b/i,
14+
'attribute': {
15+
pattern: /\b'\w+/,
16+
alias: 'attr-name'
17+
},
1518
// support for predefined attributes included
16-
'keyword': /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,
19+
'keyword': /\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,
1720
'boolean': /\b(?:false|true)\b/i,
1821
'function': /\w+(?=\()/,
1922
// decimal, based, physical, and exponential numbers supported

Diff for: ‎components/prism-vhdl.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: ‎tests/languages/vhdl/attribute_feature.test

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
T'BASE
2+
T'IMAGE(X)
3+
A'RANGE
4+
A'RANGE(N)
5+
A'REVERSE_RANGE
6+
A'REVERSE_RANGE(N)
7+
S'DELAYED(t)
8+
E'INSTANCE_NAME
9+
10+
----------------------------------------------------
11+
12+
[
13+
"T", ["attribute", "'BASE"],
14+
"\r\nT", ["attribute", "'IMAGE"], ["punctuation", "("], "X", ["punctuation", ")"],
15+
"\r\nA", ["attribute", "'RANGE"],
16+
"\r\nA", ["attribute", "'RANGE"], ["punctuation", "("], "N", ["punctuation", ")"],
17+
"\r\nA", ["attribute", "'REVERSE_RANGE"],
18+
"\r\nA", ["attribute", "'REVERSE_RANGE"], ["punctuation", "("], "N", ["punctuation", ")"],
19+
"\r\nS", ["attribute", "'DELAYED"], ["punctuation", "("], "t", ["punctuation", ")"],
20+
"\r\nE", ["attribute", "'INSTANCE_NAME"]
21+
]
22+
23+
----------------------------------------------------
24+
25+
Checks for attributes.

Diff for: ‎tests/languages/vhdl/constant_feature.test

-13
This file was deleted.

Diff for: ‎tests/languages/vhdl/keyword_feature.test

+9-63
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,3 @@
1-
A'active
2-
A'ascending
3-
A'base
4-
A'delayed
5-
A'driving
6-
A'driving_value
7-
A'event
8-
A'high
9-
A'image
10-
A'instance_name
11-
A'last_active
12-
A'last_event
13-
A'last_value
14-
A'left
15-
A'leftof
16-
A'length
17-
A'low
18-
A'path_name
19-
A'pos
20-
A'pred
21-
A'quiet
22-
A'range
23-
A'reverse_range
24-
A'right
25-
A'rightof
26-
A'simple_name
27-
A'stable
28-
A'succ
29-
A'transaction
30-
A'val
31-
A'value
321
access
332
after
343
alias
@@ -67,6 +36,7 @@ inertial
6736
inout
6837
is
6938
label
39+
library
7040
linkage
7141
literal
7242
loop
@@ -82,6 +52,7 @@ out
8252
package
8353
port
8454
postponed
55+
private
8556
procedure
8657
process
8758
pure
@@ -103,7 +74,9 @@ type
10374
unaffected
10475
units
10576
until
77+
use
10678
variable
79+
view
10780
wait
10881
when
10982
while
@@ -112,37 +85,6 @@ with
11285
----------------------------------------------------
11386

11487
[
115-
"A", ["keyword", "'active"],
116-
"\r\nA", ["keyword", "'ascending"],
117-
"\r\nA", ["keyword", "'base"],
118-
"\r\nA", ["keyword", "'delayed"],
119-
"\r\nA", ["keyword", "'driving"],
120-
"\r\nA", ["keyword", "'driving_value"],
121-
"\r\nA", ["keyword", "'event"],
122-
"\r\nA", ["keyword", "'high"],
123-
"\r\nA", ["keyword", "'image"],
124-
"\r\nA", ["keyword", "'instance_name"],
125-
"\r\nA", ["keyword", "'last_active"],
126-
"\r\nA", ["keyword", "'last_event"],
127-
"\r\nA", ["keyword", "'last_value"],
128-
"\r\nA", ["keyword", "'left"],
129-
"\r\nA", ["keyword", "'leftof"],
130-
"\r\nA", ["keyword", "'length"],
131-
"\r\nA", ["keyword", "'low"],
132-
"\r\nA", ["keyword", "'path_name"],
133-
"\r\nA", ["keyword", "'pos"],
134-
"\r\nA", ["keyword", "'pred"],
135-
"\r\nA", ["keyword", "'quiet"],
136-
"\r\nA", ["keyword", "'range"],
137-
"\r\nA", ["keyword", "'reverse_range"],
138-
"\r\nA", ["keyword", "'right"],
139-
"\r\nA", ["keyword", "'rightof"],
140-
"\r\nA", ["keyword", "'simple_name"],
141-
"\r\nA", ["keyword", "'stable"],
142-
"\r\nA", ["keyword", "'succ"],
143-
"\r\nA", ["keyword", "'transaction"],
144-
"\r\nA", ["keyword", "'val"],
145-
"\r\nA", ["keyword", "'value"],
14688
["keyword", "access"],
14789
["keyword", "after"],
14890
["keyword", "alias"],
@@ -181,6 +123,7 @@ with
181123
["keyword", "inout"],
182124
["keyword", "is"],
183125
["keyword", "label"],
126+
["keyword", "library"],
184127
["keyword", "linkage"],
185128
["keyword", "literal"],
186129
["keyword", "loop"],
@@ -196,6 +139,7 @@ with
196139
["keyword", "package"],
197140
["keyword", "port"],
198141
["keyword", "postponed"],
142+
["keyword", "private"],
199143
["keyword", "procedure"],
200144
["keyword", "process"],
201145
["keyword", "pure"],
@@ -217,7 +161,9 @@ with
217161
["keyword", "unaffected"],
218162
["keyword", "units"],
219163
["keyword", "until"],
164+
["keyword", "use"],
220165
["keyword", "variable"],
166+
["keyword", "view"],
221167
["keyword", "wait"],
222168
["keyword", "when"],
223169
["keyword", "while"],
@@ -226,4 +172,4 @@ with
226172

227173
----------------------------------------------------
228174

229-
Checks for all keywords.
175+
Checks for all keywords.

0 commit comments

Comments
 (0)
Please sign in to comment.