
Description="VHDL"

Categories = {"hardware"}

Keywords={
  { Id=1,
    List={"abs", "access", "after", "all", "and", "architecture", "array",
            "assert", "attribute", "begin", "block", "body", "buffer", "bus", "case",
            "component", "configuration", "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", "mod", "nand", "new", "next", "nor", "not",
            "null", "of", "on", "open", "or", "others", "out", "package", "port",
            "postponed", "procedure", "process", "pure", "range", "record", "register",
            "reject", "rem", "report", "return", "rol", "ror", "select", "severity",
            "shared", "sla", "sll", "sra", "srl", "then", "to", "transport", "unaffected",
            "units", "until", "use",  "wait", "when", "while", "with", "xnor", "xor",
            "activpullup", "andn", "and2ff", "andnff", "cnt1bit", "cntnbit", "cntnbitdown",
            "cntnbitmod", "cntnbitoe", "cntnbitsld", "cntnbitsr", "cntnbitupdown",
            "compnbit", "compnbitff", "diffh2lwithff", "diffl2hwithff", "dff1",
            "dff1negclk", "dffn", "encode4to5", "mux1of2", "mux1of8", "mux1vof2v",
            "mux1vof3v", "mux1vof4v", "prescale1bit", "prescale1bitar",
            "prescale1bitarnegclk", "prescalenbit", "prescalenbitar", "reg1bit",
            "reg1bitar", "reg1bitr", "regnbit", "regnbitar", "rsffasync", "rsffsync",
            "rssynchronizer", "shiftp2sregnbitar", "shiftregnbitar", "shifts2sregnbit",
            "srffsync", "syncanddiffl2hwithff", "syncanddiffh2lwithff",
            "syncanddiffl2hwithffandfg", "syncanddiffh2lwithffandfg",
            "syncanddiffll2hhwithff", "syncanddiffhh2llwithff",
            "syncanddiffll2hhwithffandfg", "syncanddiffhh2llwithffandfg",
            "activpullup_arch", "andn_arch", "and2ff_arch", "andnff_arch", "cnt1bit_arch",
            "cntnbit_arch", "cntnbitdown_arch", "cntnbitmod_arch", "cntnbitoe_arch",
            "cntnbitsld_arch", "cntnbitsr_arch", "cntnbitupdown_arch", "compnbit_arch",
            "compnbitff_arch", "diffh2lwithff_arch", "diffl2hwithff_arch", "dff1_arch",
            "dff1negclk_arch", "dffn_arch", "encode4to5_arch", "mux1of2_arch",
            "mux1of8_arch", "mux1vof2v_arch", "mux1vof3v_arch", "mux1vof4v_arch",
            "prescale1bit_arch", "prescale1bitar_arch", "prescale1bitarnegclk_arch",
            "prescalenbit_arch", "prescalenbitar_arch", "reg1bit_arch", "reg1bitar_arch",
            "reg1bitr_arch", "regnbit_arch", "regnbitar_arch", "rsffasync_arch",
            "rsffsync_arch", "rssynchronizer_arch", "shiftp2sregnbitar_arch",
            "shiftregnbitar_arch", "shifts2sregnbit_arch", "srffsync_arch",
            "syncanddiffl2hwithff_arch", "syncanddiffh2lwithff_arch",
            "syncanddiffl2hwithffandfg_arch", "syncanddiffh2lwithffandfg_arch",
            "syncanddiffll2hhwithff_arch", "syncanddiffhh2llwithff_arch",
            "syncanddiffll2hhwithffandfg_arch", "syncanddiffhh2llwithffandfg_arch"},
  },
  { Id=2,
    List={  "bit", "bit_vector", "boolean", "integer", "real", "std_logic",
            "std_logic_vector", "time", "character", "string"},
  },
  { Id=3,
    List={"alias", "constant", "type", "variable", "signal", "subtype"},
  },
  { Id=4,
    Regex=[[[\w\(\)]+('\w+)]],
  },
}

Strings={
  Delimiter=[[']],
}

IgnoreCase=true

Comments={
  { Block=false,
    Delimiter= { [[\-\-]] },
  },
}

Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|<|>|\!|\=|\/|\*|\%|\+|\-]]

