You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.3 KiB
26 lines
1.3 KiB
Prism.languages.vhdl = { |
|
'comment': /--.+/, |
|
// support for all logic vectors |
|
'vhdl-vectors': { |
|
'pattern': /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i, |
|
'alias': 'number' |
|
}, |
|
// support for operator overloading included |
|
'quoted-function': { |
|
pattern: /"\S+?"(?=\()/, |
|
alias: 'function' |
|
}, |
|
'string': /"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/, |
|
'attribute': { |
|
pattern: /\b'\w+/, |
|
alias: 'attr-name' |
|
}, |
|
// support for predefined attributes included |
|
'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, |
|
'boolean': /\b(?:false|true)\b/i, |
|
'function': /\w+(?=\()/, |
|
// decimal, based, physical, and exponential numbers supported |
|
'number': /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i, |
|
'operator': /[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i, |
|
'punctuation': /[{}[\];(),.:]/ |
|
};
|
|
|