mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2026-04-21 06:16:43 +00:00
20 lines
4.7 KiB
JavaScript
20 lines
4.7 KiB
JavaScript
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
import {LRParser} from "@lezer/lr"
|
|
import {hexTokenizer} from "../../src/parser/tokens-6502"
|
|
const spec_Identifier = {__proto__:null,adc:104, and:104, asl:104, bcc:104, bcs:104, beq:104, bit:104, bmi:104, bne:104, bpl:104, brk:104, bvc:104, bvs:104, clc:104, cld:104, cli:104, clv:104, cmp:104, cpx:104, cpy:104, dec:104, dex:104, dey:104, eor:104, inc:104, inx:104, iny:104, jmp:104, jsr:104, lda:104, ldx:104, ldy:104, lsr:104, nop:104, ora:104, pha:104, php:104, pla:104, plp:104, rol:104, ror:104, rti:104, rts:104, sbc:104, sec:104, sed:104, sei:104, sta:104, stx:104, sty:104, tax:104, tay:104, tsx:104, txa:104, txs:104, tya:104, ADC:104, AND:104, ASL:104, BCC:104, BCS:104, BEQ:104, BIT:104, BMI:104, BNE:104, BPL:104, BRK:104, BVC:104, BVS:104, CLC:104, CLD:104, CLI:104, CLV:104, CMP:104, CPX:104, CPY:104, DEC:104, DEX:104, DEY:104, EOR:104, INC:104, INX:104, INY:104, JMP:104, JSR:104, LDA:104, LDX:104, LDY:104, LSR:104, NOP:104, ORA:104, PHA:104, PHP:104, PLA:104, PLP:104, ROL:104, ROR:104, RTI:104, RTS:104, SBC:104, SEC:104, SED:104, SEI:104, STA:104, STX:104, STY:104, TAX:104, TAY:104, TSX:104, TXA:104, TXS:104, TYA:104, ".":110, a:112, x:112, y:112, A:112, X:112, Y:112, org:114, equ:114, end:114, ".end":114, ORG:114, EQU:114, END:114, ".END":114, ds:114, "ds.b":114, "ds.w":114, dc:114, "dc.b":114, "dc.w":114, seg:114, "seg.u":114, DS:114, "DS.B":114, "DS.W":114, DC:114, "DC.B":114, "DC.W":114, SEG:114, "SEG.U":114, byte:114, word:114, ".byte":114, ".word":114, BYTE:114, WORD:114, ".BYTE":114, ".WORD":114, subroutine:114, SUBROUTINE:114, processor:114, PROCESSOR:114, echo:114, repeat:114, repend:114, set:114, ECHO:114, REPEAT:114, REPEND:114, SET:114, hex:116, HEX:116, mac:118, endm:120, if:122, else:122, endif:122, err:124}
|
|
export const parser = LRParser.deserialize({
|
|
version: 14,
|
|
states: ")YQYQQOOOwQQO'#CaOOQO'#Ce'#CeO#ZQQO'#CdOOQO'#DR'#DRO#kQQO'#DQOOQP'#DT'#DTO#uQRO'#DSOOQO'#DV'#DVO#}QQO'#DUOOQO'#DW'#DWOOQO'#DX'#DXOOQO'#DY'#DYOOQO'#Cc'#CcOOQO'#C`'#C`O$SQQO'#C`O$pQQO'#C`OOQO'#DZ'#DZQYQQOOOOQO,58{,58{OOQO'#Cu'#CuOOQO'#Cv'#CvO$wQQO'#CrOOQO'#Cy'#CyOOQO'#Cw'#CwO%mQQO'#CfOOQO'#Ch'#ChO$wQQO'#ChOOQO'#DP'#DPO$wQQO'#CfOOQO'#Cf'#CfOOQO,59O,59OO%wQQO'#D[O$wQQO'#ChO&hQQO,59lOOQP'#D]'#D]O&rQRO,59nOOQO,59p,59pOOQO,58z,58zO&zQQO,58zOOQO-E7X-E7XO'PQQO,59^OOQO'#Cl'#ClOOQO'#Cm'#CmO$wQQO,59SO$wQQO,59SO$wQQO,59SO$wQQO,59SO'vQQO,59QO'{QQO,59SO(VQQO,59QO(^QQO,59SOOQO-E7Y-E7YOOQP-E7Z-E7ZOOQO1G.f1G.fO)rQQO1G.nO)yQQO1G.nO*QQQO1G.nOOQO1G.n1G.nOOQO1G.l1G.lO'vQQO1G.lO+bQQO7+$WOOQO<<Gr<<Gr",
|
|
stateData: "+n~O!SOSQOS~OUPO!UQO!ZSO![UO!]WO!^YO!_ZO!`[O!a^O~O!TcO!UTX!ZTX![TX!]TX!^TX!_TX!`TX!aTX~OUhOcfOdfOgfOhfOlhOnhOohO!VdO!WeO!XgO~OZmOpkO!YlO!aWX~P!fOpqO!atX~P!fOPsO!avX~OUuO~O!avO~O!UQO!ZSO![UO!]WO!^YO!_ZO!`[O~O!avO~P$XOpqO~P!fO]|O^}O_!OOb!POc!POd!POe!PO!VzO!W{O~Or!QO!aYX~P%OOU!OXg!OXh!OXl!OXn!OXo!OXp!OX!X!OX!a!OX~P%OOpqO!ata~P!fOPsO!ava~O!a!WO~Orfa!afaUfagfahfalfanfaofapfa!Xfaqfa~P%OO!YlO~Oq![Or!^O~P%OO!aYa~P%OOq![O~P%OO_!OOb!POc!POd!POe!PO!VzO!W{O][ir[i!a[iU[ig[ih[il[in[io[ip[i!X[iq[i~O^}O~P(eO^[i~P(eOb!POc!POd!POe!PO][i^[i_[ir[i!V[i!W[i!a[iU[ig[ih[il[in[io[ip[i!X[iq[i~Oq!`O~OnoleUl~",
|
|
goto: "%_!QPPPP!R!VP!Z!b!g!lP!oPPP#`#`PPPP#jPP#w#w#jP$UPPPPP$c!b$l!b$q!b$v!b!b!b${%R%XTaObT`ObS_ObRw`V]O`bVRO`bRoRQiRSpTrQyfQ!RkQ!SmQ!TqQ!X|Q!Y}Q!Z!OR![!Pa!Oipy!R!S!T!X!YgjRTfkmqr|}!O!PgfRTfkmqr|}!O!PghRTfkmqr|}!O!PQnRQ!]!QR!_!^VTO`bVVO`bVXO`bQbORxbQrTR!UrQtVR!Vt",
|
|
nodeNames: "⚠ HexByte Comment Program Line Label Identifier Statement Instruction Opcode Operand # Expression LogicOp BitOp CompareOp BinaryLt BinaryGt ArithOp Plus Minus Percent UnaryExpression Not Tilde UnaryLt UnaryGt Value Number CurrentAddress String Char ( ) Comma Register Directive PseudoOp HexDirective HexOp MacroDef Mac MacEnd ControlOp ErrorOp",
|
|
maxTerm: 63,
|
|
skippedNodes: [0,2],
|
|
repeatNodeCount: 3,
|
|
tokenData: "*m~RoXY#SYZ#_]^#_pq#Sqr#jrs#wst%ktu%puv&[vw&rwx'Pxy'syz'xz{'}{|(S|}(X}!O(^!O!P(c!P!Q'}!Q![(w![!])P!]!^)U!^!_)m!_!`)}!`!a*T!c!}(c#Q#R)x#R#S(c#T#o(c#p#q*`#r#s*h~#XQ!S~XY#Spq#S~#dQ!a~YZ#_]^#_~#oPg~!_!`#r~#wO_~~#zWOY#wZr#wrs$ds#O#w#O#P$i#P;'S#w;'S;=`%e<%lO#w~$iOn~~$lRO;'S#w;'S;=`$u;=`O#w~$xXOY#wZr#wrs$ds#O#w#O#P$i#P;'S#w;'S;=`%e;=`<%l#w<%lO#w~%hP;=`<%l#w~%pOZ~~%sR!Q![%|!c!i%|#T#Z%|~&RRl~!Q![%|!c!i%|#T#Z%|~&aQe~!Q!R&g!R!S&g~&lQl~!Q!R&g!R!S&g~&wP^~vw&z~'PO]~~'SSOY'`Z;'S'`;'S;=`'m<%lO'`~'ePo~wx'h~'mOo~~'pP;=`<%l'`~'xOp~~'}Oq~~(SOb~~(XOc~~(^Or~~(cOd~~(hTU~!O!P(c!Q![(c!c!}(c#R#S(c#T#o(c~(|Pl~!Q![(w~)UO!T~~)ZSQ~OY)UZ;'S)U;'S;=`)g<%lO)U~)jP;=`<%l)U~)rQ!V~!^!_)x!_!`#r~)}O^~~*QP!_!`#r~*YQ!W~!_!`#r!`!a)x~*eP^~#p#q&z~*mOh~",
|
|
tokenizers: [hexTokenizer, 0],
|
|
topRules: {"Program":[0,3]},
|
|
specialized: [{term: 6, get: (value) => spec_Identifier[value] || -1}],
|
|
tokenPrec: 483
|
|
})
|