const lang = Object.freeze(JSON.parse("{\"displayName\":\"RISC-V\",\"fileTypes\":[\"S\",\"s\",\"riscv\",\"asm\"],\"name\":\"riscv\",\"patterns\":[{\"match\":\"\\\\b(la|lb|lh|lw|ld|nop|li|mv|not|negw??|sext\\\\.w|seqz|snez|sltz|sgtz|beqz|bnez|blez|bgez|bltz|bgtz?|ble|bgtu|bleu|j|jal|jr|ret|call|tail|fence|csr[crsw|]|csr[csw|]i)\\\\b\",\"name\":\"support.function.pseudo.riscv\"},{\"match\":\"\\\\b(addw??|auipc|lui|jalr|beq|bne|blt|bge|bltu|bgeu|lb|lh|lw|ld|lbu|lhu|sb|sh|sw|sd|addiw??|sltiu??|xori|ori|andi|slliw??|srliw??|sraiw??|subw??|sllw??|sltu??|xor|srlw??|sraw??|or|and|fence|fence\\\\.i|csrrw|csrrs|csrrc|csrrwi|csrrsi|csrrci)\\\\b\",\"name\":\"support.function.riscv\"},{\"match\":\"\\\\b(ecall|ebreak|sfence\\\\.vma|mret|sret|uret|wfi)\\\\b\",\"name\":\"support.function.riscv.privileged\"},{\"match\":\"\\\\b(mulh??|mulhsu|mulhu|divu??|remu??|mulw|divw|divuw|remw|remuw)\\\\b\",\"name\":\"support.function.riscv.m\"},{\"match\":\"\\\\b(c\\\\.(?:addi4spn|fld|lq|lw|flw|ld|fsd|sq|sw|fsw|sd|nop|addi|jal|addiw|li|addi16sp|lui|srli|srli64|srai|srai64|andi|sub|xor|or|and|subw|addw|j|beqz|bnez))\\\\b\",\"name\":\"support.function.riscv.c\"},{\"match\":\"\\\\b(lr\\\\.[dw|]|sc\\\\.[dw|]|amoswap\\\\.[dw|]|amoadd\\\\.[dw|]|amoxor\\\\.[dw|]|amoand\\\\.[dw|]|amoor\\\\.[dw|]|amomin\\\\.[dw|]|amomax\\\\.[dw|]|amominu\\\\.[dw|]|amomaxu\\\\.[dw|])\\\\b\",\"name\":\"support.function.riscv.a\"},{\"match\":\"\\\\b(f(?:lw|sw|madd\\\\.s|msub\\\\.s|nmsub\\\\.s|nmadd\\\\.s|add\\\\.s|sub\\\\.s|mul\\\\.s|div\\\\.s|sqrt\\\\.s|sgnj\\\\.s|sgnjn\\\\.s|sgnjx\\\\.s|min\\\\.s|max\\\\.s|cvt\\\\.w\\\\.s|cvt\\\\.wu\\\\.s|mv\\\\.x\\\\.w|eq\\\\.s|lt\\\\.s|le\\\\.s|class\\\\.s|cvt\\\\.s\\\\.wu??|mv\\\\.w\\\\.x|cvt\\\\.l\\\\.s|cvt\\\\.lu\\\\.s|cvt\\\\.s\\\\.lu??))\\\\b\",\"name\":\"support.function.riscv.f\"},{\"match\":\"\\\\b(f(?:ld|sd|madd\\\\.d|msub\\\\.d|nmsub\\\\.d|nmadd\\\\.d|add\\\\.d|sub\\\\.d|mul\\\\.d|div\\\\.d|sqrt\\\\.d|sgnj\\\\.d|sgnjn\\\\.d|sgnjx\\\\.d|min\\\\.d|max\\\\.d|cvt\\\\.s\\\\.d|cvt\\\\.d\\\\.s|eq\\\\.d|lt\\\\.d|le\\\\.d|class\\\\.d|cvt\\\\.w\\\\.d|cvt\\\\.wu\\\\.d|cvt\\\\.d\\\\.wu??|cvt\\\\.l\\\\.d|cvt\\\\.lu\\\\.d|mv\\\\.x\\\\.d|cvt\\\\.d\\\\.lu??|mv\\\\.d\\\\.x))\\\\b\",\"name\":\"support.function.riscv.d\"},{\"match\":\"\\\\.(skip|asciiz??|byte|[248|]byte|data|double|float|half|kdata|ktext|space|text|word|dword|dtprelword|dtpreldword|set\\\\s*(noat|at)|[su|]leb128|string|incbin|zero|rodata|comm|common)\\\\b\",\"name\":\"storage.type.riscv\"},{\"match\":\"\\\\.(balign|align|p2align|extern|globl|global|local|pushsection|section|bss|insn|option|type|equ|macro|endm|file|ident)\\\\b\",\"name\":\"storage.modifier.riscv\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.label.riscv\"}},\"match\":\"\\\\b([0-9A-Z_a-z]+):\",\"name\":\"meta.function.label.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(x([0-9]|1[0-9]|2[0-9]|3[01]))\\\\b\",\"name\":\"variable.other.register.usable.by-number.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(zero|ra|sp|gp|tp|t[0-6]|a[0-7]|s[0-9]|fp|s1[01])\\\\b\",\"name\":\"variable.other.register.usable.by-name.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(([hmsu]|vs)status|([hmsu]|vs)ie|([msu]|vs)tvec|([msu]|vs)scratch|([msu]|vs)epc|([msu]|vs)cause|([hmsu]|vs)tval|([hmsu]|vs)ip|fflags|frm|fcsr|m?cycleh?|timeh?|m?instreth?|m?hpmcounter([3-9]|[12][0-9]|3[01])h?|[hms][ei]deleg|[hms]counteren|v?satp|hgeie|hgeip|[hm]tinst|hvip|hgatp|htimedeltah?|mvendorid|marchid|mimpid|mhartid|misa|mstatush|mtval2|pmpcfg[0-3]|pmpaddr([0-9]|1[0-5])|mcountinhibit|mhpmevent([3-9]|[12][0-9]|3[01])|tselect|tdata[123]|dcsr|dpc|dscratch[01])\\\\b\",\"name\":\"variable.other.csr.names.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\bf([0-9]|1[0-9]|2[0-9]|3[01])\\\\b\",\"name\":\"variable.other.register.usable.floating-point.riscv\"},{\"match\":\"\\\\b\\\\d+\\\\.\\\\d+\\\\b\",\"name\":\"constant.numeric.float.riscv\"},{\"match\":\"\\\\b(\\\\d+|0([Xx])\\\\h+)\\\\b\",\"name\":\"constant.numeric.integer.riscv\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.riscv\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.riscv\"}},\"name\":\"string.quoted.double.riscv\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"\\\\\\\\nrt]\",\"name\":\"constant.character.escape.riscv\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.riscv\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.riscv\"}},\"name\":\"string.quoted.single.riscv\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"\\\\\\\\nrt]\",\"name\":\"constant.character.escape.riscv\"}]},{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block\"},{\"begin\":\"//\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash\"},{\"begin\":\"^\\\\s*#\\\\s*(define)\\\\s+((?[A-Z_a-z][0-9A-Z_a-z]*))(?:(\\\\()(\\\\s*\\\\g\\\\s*((,)\\\\s*\\\\g\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.define.c\"},\"2\":{\"name\":\"entity.name.function.preprocessor.c\"},\"4\":{\"name\":\"punctuation.definition.parameters.c\"},\"5\":{\"name\":\"variable.parameter.preprocessor.c\"},\"7\":{\"name\":\"punctuation.separator.parameters.c\"},\"8\":{\"name\":\"punctuation.definition.parameters.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.macro.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"},{\"include\":\"$base\"}]},{\"begin\":\"^\\\\s*#\\\\s*(error|warning)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.error.c\"}},\"end\":\"$\",\"name\":\"meta.preprocessor.diagnostic.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"}]},{\"begin\":\"^\\\\s*#\\\\s*(i(?:nclude|mport))\\\\b\\\\s+\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.include.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.c.include\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.c\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.c\"}},\"name\":\"string.quoted.double.include.c\"},{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.c\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.c\"}},\"name\":\"string.quoted.other.lt-gt.include.c\"}]},{\"begin\":\"^\\\\s*#\\\\s*(defined??|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"}]},{\"begin\":\"(^[\\\\t ]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.riscv\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#|(//)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.riscv\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.riscv\"}]}],\"scopeName\":\"source.riscv\"}")) export default [ lang ]