[ "alias" "package" "file" "entity" "architecture" "type" "subtype" "attribute" "to" "downto" "signal" "variable" "record" "array" "others" "process" "component" "shared" "constant" "port" "generic" "generate" "range" "map" "in" "inout" "of" "out" "configuration" "pure" "impure" "is" "begin" "end" "context" "wait" "until" "after" "report" "open" "exit" "assert" "next" "null" "force" "property" "release" "sequence" "transport" "unaffected" "select" "severity" "register" "reject" "postponed" "on" "new" "literal" "linkage" "inertial" "guarded" "group" "disconnect" "bus" "buffer" "body" "all" "block" "access" ] @keyword [ "function" "procedure" ] @keyword.function [ "return" ] @keyword.control.return [ "for" "loop" "while" ] @keyword.control.repeat [ "if" "elsif" "else" "case" "then" "when" ] @keyword.control.conditional [ "library" "use" ] @keyword.control.import (comment) @comment (type_mark) @type [ "(" ")" "[" "]" ] @punctuation.bracket [ "." ";" "," ":" ] @punctuation.delimiter [ "=>" "<=" "+" ":=" "=" "/=" "<" ">" "-" "*" "**" "/" "?>" "?<" "?<=" "?>=" "?=" "?/=" ; "?/" errors, maybe due to escape character (attribute_name "'") (index_subtype_definition (any)) ] @operator [ "not" "xor" "xnor" "and" "nand" "or" "nor" "mod" "rem" (attribute_name "'") (index_subtype_definition (any)) ] @keyword.operator [ (real_decimal) (integer_decimal) ] @constant.numeric (character_literal) @constant.character [ (string_literal) (bit_string_literal) ] @string (physical_literal unit: (simple_name) @attribute) (attribute_name prefix: (_) @variable designator: (_) @attribute) ((simple_name) @variable.builtin (#any-of? @variable.builtin "true" "false" "now")) (severity_expression) @constant.builtin (procedure_call_statement procedure: (simple_name) @function) (ambiguous_name prefix: (simple_name) @function.builtin (#any-of? @function.builtin "rising_edge" "falling_edge" "find_rightmost" "find_leftmost" "maximum" "minimum" "shift_left" "shift_right" "rotate_left" "rotate_right" "sll" "srl" "rol" "ror" "sla" "sra" "resize" "mod" "rem" "abs" "saturate" "to_sfixed" "to_ufixed" "to_signed" "to_unsigned" "to_real" "to_integer" "sfixed_low" "ufixed_low" "sfixed_high" "ufixed_high" "to_slv" "to_stdulogicvector" "to_sulv" "to_float" "std_logic" "std_logic_vector" "integer" "signed" "unsigned" "real" "std_ulogic_vector" "std_ulogic" "x01" "x01z" "ux01" "ux01Z" ;math_real "sign" "ceil" "floor" "round" "fmax" "fmin" "uniform" "srand" "rand" "get_rand_max" "sqrt" "cbrt" "exp" "log" "log2" "log10" "sin" "cos" "tan" "asin" "acos" "atan" "atan2" "sinh" "cosh" "tanh" "asinh" "acosh" "atanh" "realmax" "realmin" "trunc" "conj" "arg" "polar_to_complex" "complex_to_polar" "get_principal_value" "cmplx" ;std_textio "read" "write" "hread" "hwrite" "to_hstring" "to_string" "from_hstring" "from_string" "justify" "readline" "sread" "string_read" " bread" "binary_read" "oread" "octal_read" "hex_read" "writeline" "swrite" "string_write" "bwrite" "binary_write" "owrite" "octal_write" "hex_write" "synthesis_return" ;std_logic_1164 "resolved" "logic_type_encoding" "is_signed" "to_bit" "to_bitvector" "to_stdulogic" "to_stdlogicvector" "to_bit_vector" "to_bv" "to_std_logic_vector" "to_std_ulogic_vector" "to_01" "to_x01" "to_x01z" "to_ux01" "is_x" "to_bstring" "to_binary_string" "to_ostring" "to_octal_string" "to_hex_string" ;float_pkg "add" "subtract" "multiply" "divide" "remainder" "modulo" "reciprocal" "dividebyp2" "mac" "eq" "ne" "lt" "gt" "le" "ge" "to_float32" "to_float64" "to_float128" "realtobits" "bitstoreal" "break_number" "normalize" "copysign" "scalb" "logb" "nextafter" "unordered" "finite" "isnan" "zerofp" "nanfp" "qnanfp" "pos_inffp" "neg_inffp" "neg_zerofp" "from_bstring" "from_binary_string" "from_ostring" "from_octal_string" "from_hex_string" ;fixed_pkg "add_carry" "to_ufix" "to_sfix" "ufix_high" "ufix_low" "sfix_high" "sfix_low" ))