| OLD | NEW |
| (Empty) |
| 1 /** | |
| 2 * @fileoverview | |
| 3 * Registers a language handler for VHDL '93. | |
| 4 * | |
| 5 * Based on the lexical grammar and keywords at | |
| 6 * http://www.iis.ee.ethz.ch/~zimmi/download/vhdl93_syntax.html | |
| 7 * | |
| 8 * @author benoit@ryder.fr | |
| 9 */ | |
| 10 | |
| 11 PR['registerLangHandler']( | |
| 12 PR['createSimpleLexer']( | |
| 13 [ | |
| 14 // Whitespace | |
| 15 [PR['PR_PLAIN'], /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'] | |
| 16 ], | |
| 17 [ | |
| 18 // String, character or bit string | |
| 19 [PR['PR_STRING'], /^(?:[BOX]?"(?:[^\"]|"")*"|'.')/i], | |
| 20 // Comment, from two dashes until end of line. | |
| 21 [PR['PR_COMMENT'], /^--[^\r\n]*/], | |
| 22 [PR['PR_KEYWORD'], /^(?:abs|access|after|alias|all|and|architecture|arr
ay|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|con
stant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|ge
neric|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal
|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|p
ostponed|procedure|process|pure|range|record|register|reject|rem|report|return|r
ol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|t
ype|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|
$)/i, null], | |
| 23 // Type, predefined or standard | |
| 24 [PR['PR_TYPE'], /^(?:bit|bit_vector|character|boolean|integer|real|time
|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:
_vector)?)(?=[^\w-]|$)/i, null], | |
| 25 // Predefined attributes | |
| 26 [PR['PR_TYPE'], /^\'(?:ACTIVE|ASCENDING|BASE|DELAYED|DRIVING|DRIVING_VA
LUE|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_NA
ME|STABLE|SUCC|TRANSACTION|VAL|VALUE)(?=[^\w-]|$)/i, null], | |
| 27 // Number, decimal or based literal | |
| 28 [PR['PR_LITERAL'], /^\d+(?:_\d+)*(?:#[\w\\.]+#(?:[+\-]?\d+(?:_\d+)*)?|(
?:\.\d+(?:_\d+)*)?(?:E[+\-]?\d+(?:_\d+)*)?)/i], | |
| 29 // Identifier, basic or extended | |
| 30 [PR['PR_PLAIN'], /^(?:[a-z]\w*|\\[^\\]*\\)/i], | |
| 31 // Punctuation | |
| 32 [PR['PR_PUNCTUATION'], /^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0\-\"\']*/] | |
| 33 ]), | |
| 34 ['vhdl', 'vhd']); | |
| OLD | NEW |