mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2026-04-21 06:16:43 +00:00
Deploying to gh-pages from @ sehugg/8bitworkshop@26ab4ed8be 🚀
This commit is contained in:
@@ -1,18 +1,19 @@
|
||||
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
||||
import {LRParser} from "@lezer/lr"
|
||||
const spec_Identifier = {__proto__:null,ADC:96, AND:96, ASL:96, BCC:96, BCS:96, BEQ:96, BIT:96, BMI:96, BNE:96, BPL:96, BRK:96, BVC:96, BVS:96, CLC:96, CLD:96, CLI:96, CLV:96, CMP:96, CPX:96, CPY:96, DEC:96, DEX:96, DEY:96, EOR:96, INC:96, INX:96, INY:96, JMP:96, JSR:96, LDA:96, LDX:96, LDY:96, LSR:96, NOP:96, ORA:96, PHA:96, PHP:96, PLA:96, PLP:96, ROL:96, ROR:96, RTI:96, RTS:96, SBC:96, SEC:96, SED:96, SEI:96, STA:96, STX:96, STY:96, TAX:96, TAY:96, TSX:96, TXA:96, TXS:96, TYA:96, adc:96, and:96, asl:96, bcc:96, bcs:96, beq:96, bit:96, bmi:96, bne:96, bpl:96, brk:96, bvc:96, bvs:96, clc:96, cld:96, cli:96, clv:96, cmp:96, cpx:96, cpy:96, dec:96, dex:96, dey:96, eor:96, inc:96, inx:96, iny:96, jmp:96, jsr:96, lda:96, ldx:96, ldy:96, lsr:96, nop:96, ora:96, pha:96, php:96, pla:96, plp:96, rol:96, ror:96, rti:96, rts:96, sbc:96, sec:96, sed:96, sei:96, sta:96, stx:96, sty:96, tax:96, tay:96, tsx:96, txa:96, txs:96, tya:96, ".":102, X:104, Y:104, A:104, x:104, y:104, a:104, ORG:106, EQU:106, END:106, org:106, equ:106, end:106, ds:106, "ds.b":106, "ds.w":106, dc:106, "dc.b":106, "dc.w":106, seg:106, "seg.u":106, subroutine:106, echo:106, repeat:106, repend:106, set:106, processor:106, ".WORD":106, ".word":106, ".BYTE":106, ".byte":106, ".END":106, ".end":106, mac:108, endm:110, if:112, else:112, endif:112, err:114}
|
||||
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, 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: "(jQYQPOOOtQPO'#C`OOQO'#Cd'#CdO#TQPO'#CcOOQO'#DQ'#DQO#eQPO'#DPOOQO'#DS'#DSO#oQPO'#DROOQO'#DT'#DTOOQO'#DU'#DUOOQO'#DV'#DVOOQO'#Cb'#CbOOQO'#C_'#C_O#tQPO'#C_O$_QPO'#C_OOQO'#DW'#DWQYQPOOOOQO,58z,58zOOQO'#Ct'#CtOOQO'#Cu'#CuO$fQPO'#CqOOQO'#Cx'#CxOOQO'#Cv'#CvO%[QPO'#CeOOQO'#Cg'#CgO$fQPO'#CgOOQO'#DO'#DOO$fQPO'#CeOOQO'#Ce'#CeOOQO,58},58}O%fQPO'#DXO$fQPO'#CgO&VQPO,59kOOQO,59m,59mOOQO,58y,58yO&aQPO,58yOOQO-E7U-E7UO&fQPO,59]OOQO'#Ck'#CkOOQO'#Cl'#ClO$fQPO,59RO$fQPO,59RO$fQPO,59RO$fQPO,59RO']QPO,59PO'bQPO,59RO'lQPO,59PO'sQPO,59ROOQO-E7V-E7VOOQO1G.e1G.eO)XQPO1G.mO)`QPO1G.mO)gQPO1G.mOOQO1G.m1G.mOOQO1G.k1G.kO']QPO1G.kO*wQPO7+$VOOQO<<Gq<<Gq",
|
||||
stateData: "+T~O!OOSPOS~OTPO!QQO!VSO!WUO!XWO!YXO!ZYO![[O~O!PaO!QSX!VSX!WSX!XSX!YSX!ZSX![SX~OTfObdOcdOfdOgdOkfOmfOnfO!RbO!ScO!TeO~OYkOoiO!UjO![VX~P!`OooO![sX~P!`OTqO~O![rO~O!QQO!VSO!WUO!XWO!YXO!ZYO~O![rO~P#yOooO~P!`O[xO]yO^zOa{Ob{Oc{Od{O!RvO!SwO~Oq|O![XX~P$mOT{Xf{Xg{Xk{Xm{Xn{Xo{X!T{X![{X~P$mOooO![sa~P!`O![!RO~Oqea![eaTeafeageakeameaneaoea!Teapea~P$mO!UjO~Op!VOq!XO~P$mO![Xa~P$mOp!VO~P$mO^zOa{Ob{Oc{Od{O!RvO!SwO[ZiqZi![ZiTZifZigZikZimZinZioZi!TZipZi~O]yO~P'zO]Zi~P'zOa{Ob{Oc{Od{O[Zi]Zi^ZiqZi!RZi!SZi![ZiTZifZigZikZimZinZioZi!TZipZi~Op!ZO~OmnkdTk~",
|
||||
goto: "%O|PPP}!RP!V!^!c!hP!kPPP#[#[PPPP#fPP#s#s#fP$QPPPPP$_!^$h!^$m!^!^!^$r$xT_O`T^O`S]O`Rs^VZO^`VRO^`RmRQgRSnTpQudQ}iQ!OkQ!PoQ!SxQ!TyQ!UzR!V{azgnu}!O!P!S!TghRTdikopxyz{gdRTdikopxyz{gfRTdikopxyz{QlRQ!W|R!Y!XVTO^`VVO^`Q`ORt`QpTR!Qp",
|
||||
nodeNames: "⚠ 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 MacroDef Mac MacEnd ControlOp ErrorOp",
|
||||
maxTerm: 58,
|
||||
skippedNodes: [0,1],
|
||||
repeatNodeCount: 2,
|
||||
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!O~XY#Spq#S~#dQ![~YZ#_]^#_~#oPf~!_!`#r~#wO^~~#zWOY#wZr#wrs$ds#O#w#O#P$i#P;'S#w;'S;=`%e<%lO#w~$iOm~~$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~%pOY~~%sR!Q![%|!c!i%|#T#Z%|~&RRk~!Q![%|!c!i%|#T#Z%|~&aQd~!Q!R&g!R!S&g~&lQk~!Q!R&g!R!S&g~&wP]~vw&z~'PO[~~'SSOY'`Z;'S'`;'S;=`'m<%lO'`~'ePn~wx'h~'mOn~~'pP;=`<%l'`~'xOo~~'}Op~~(SOa~~(XOb~~(^Oq~~(cOc~~(hTT~!O!P(c!Q![(c!c!}(c#R#S(c#T#o(c~(|Pk~!Q![(w~)UO!P~~)ZSP~OY)UZ;'S)U;'S;=`)g<%lO)U~)jP;=`<%l)U~)rQ!R~!^!_)x!_!`#r~)}O]~~*QP!_!`#r~*YQ!S~!_!`#r!`!a)x~*eP]~#p#q&z~*mOg~",
|
||||
tokenizers: [0],
|
||||
topRules: {"Program":[0,2]},
|
||||
specialized: [{term: 5, get: (value) => spec_Identifier[value] || -1}],
|
||||
tokenPrec: 458
|
||||
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
|
||||
})
|
||||
|
||||
@@ -1,40 +1,43 @@
|
||||
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
||||
export const
|
||||
Comment = 1,
|
||||
Program = 2,
|
||||
Line = 3,
|
||||
Label = 4,
|
||||
Identifier = 5,
|
||||
Statement = 6,
|
||||
Instruction = 7,
|
||||
Opcode = 8,
|
||||
Operand = 9,
|
||||
Expression = 11,
|
||||
LogicOp = 12,
|
||||
BitOp = 13,
|
||||
CompareOp = 14,
|
||||
BinaryLt = 15,
|
||||
BinaryGt = 16,
|
||||
ArithOp = 17,
|
||||
Plus = 18,
|
||||
Minus = 19,
|
||||
Percent = 20,
|
||||
UnaryExpression = 21,
|
||||
Not = 22,
|
||||
Tilde = 23,
|
||||
UnaryLt = 24,
|
||||
UnaryGt = 25,
|
||||
Value = 26,
|
||||
Number = 27,
|
||||
CurrentAddress = 28,
|
||||
String = 29,
|
||||
Char = 30,
|
||||
Comma = 33,
|
||||
Register = 34,
|
||||
Directive = 35,
|
||||
PseudoOp = 36,
|
||||
MacroDef = 37,
|
||||
Mac = 38,
|
||||
MacEnd = 39,
|
||||
ControlOp = 40,
|
||||
ErrorOp = 41
|
||||
HexByte = 1,
|
||||
Comment = 2,
|
||||
Program = 3,
|
||||
Line = 4,
|
||||
Label = 5,
|
||||
Identifier = 6,
|
||||
Statement = 7,
|
||||
Instruction = 8,
|
||||
Opcode = 9,
|
||||
Operand = 10,
|
||||
Expression = 12,
|
||||
LogicOp = 13,
|
||||
BitOp = 14,
|
||||
CompareOp = 15,
|
||||
BinaryLt = 16,
|
||||
BinaryGt = 17,
|
||||
ArithOp = 18,
|
||||
Plus = 19,
|
||||
Minus = 20,
|
||||
Percent = 21,
|
||||
UnaryExpression = 22,
|
||||
Not = 23,
|
||||
Tilde = 24,
|
||||
UnaryLt = 25,
|
||||
UnaryGt = 26,
|
||||
Value = 27,
|
||||
Number = 28,
|
||||
CurrentAddress = 29,
|
||||
String = 30,
|
||||
Char = 31,
|
||||
Comma = 34,
|
||||
Register = 35,
|
||||
Directive = 36,
|
||||
PseudoOp = 37,
|
||||
HexDirective = 38,
|
||||
HexOp = 39,
|
||||
MacroDef = 40,
|
||||
Mac = 41,
|
||||
MacEnd = 42,
|
||||
ControlOp = 43,
|
||||
ErrorOp = 44
|
||||
|
||||
@@ -38,6 +38,8 @@ exports.Lezer6502 = language_1.LRLanguage.define({
|
||||
BinaryGt: highlight_1.tags.compareOperator,
|
||||
UnaryLt: highlight_1.tags.arithmeticOperator,
|
||||
UnaryGt: highlight_1.tags.arithmeticOperator,
|
||||
HexOp: highlight_1.tags.definition(highlight_1.tags.variableName),
|
||||
HexByte: highlight_1.tags.number,
|
||||
Mac: highlight_1.tags.definitionKeyword,
|
||||
MacEnd: highlight_1.tags.definitionKeyword,
|
||||
"MacroDef/Identifier": highlight_1.tags.macroName,
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"lang-6502.js","sourceRoot":"","sources":["../../src/parser/lang-6502.ts"],"names":[],"mappings":";;;AAoDA,0BAEC;AAtDD,mDAA6H;AAC7H,gDAAuD;AACvD,gFAA8D;AAEjD,QAAA,SAAS,GAAe,qBAAU,CAAC,MAAM,CAAC;IACnD,MAAM,EAAE,6BAAM,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE;YACH,yBAAc,CAAC,GAAG,CAAC;gBACf,WAAW,EAAE,IAAA,0BAAe,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC/D,CAAC;YACF,uBAAY,CAAC,GAAG,CAAC;gBACb,WAAW,EAAE,qBAAU;aAC1B,CAAC;YACF,IAAA,qBAAS,EAAC;gBACN,UAAU,EAAE,gBAAC,CAAC,YAAY;gBAC1B,cAAc,EAAE,gBAAC,CAAC,IAAI;gBACtB,QAAQ,EAAE,gBAAC,CAAC,UAAU,CAAC,gBAAC,CAAC,YAAY,CAAC;gBACtC,MAAM,EAAE,gBAAC,CAAC,OAAO;gBACjB,KAAK,EAAE,gBAAC,CAAC,SAAS;gBAClB,MAAM,EAAE,gBAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,gBAAC,CAAC,MAAM;gBACd,MAAM,EAAE,gBAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,gBAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,gBAAC,CAAC,WAAW;gBACtB,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,IAAI,EAAE,gBAAC,CAAC,kBAAkB;gBAC1B,KAAK,EAAE,gBAAC,CAAC,kBAAkB;gBAC3B,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,KAAK,EAAE,gBAAC,CAAC,eAAe;gBACxB,KAAK,EAAE,gBAAC,CAAC,eAAe;gBACxB,OAAO,EAAE,gBAAC,CAAC,aAAa;gBACxB,GAAG,EAAE,gBAAC,CAAC,aAAa;gBACpB,SAAS,EAAE,gBAAC,CAAC,eAAe;gBAC5B,QAAQ,EAAE,gBAAC,CAAC,eAAe;gBAC3B,QAAQ,EAAE,gBAAC,CAAC,eAAe;gBAC3B,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,GAAG,EAAE,gBAAC,CAAC,iBAAiB;gBACxB,MAAM,EAAE,gBAAC,CAAC,iBAAiB;gBAC3B,qBAAqB,EAAE,gBAAC,CAAC,SAAS;gBAClC,SAAS,EAAE,gBAAC,CAAC,cAAc;gBAC3B,OAAO,EAAE,gBAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,gBAAC,CAAC,SAAS;gBAClB,KAAK,EAAE,gBAAC,CAAC,KAAK;aACjB,CAAC;SACL;KACJ,CAAC;IACF,YAAY,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;KAC/B;CACJ,CAAC,CAAA;AAEF,SAAgB,OAAO;IACnB,OAAO,IAAI,0BAAe,CAAC,iBAAS,CAAC,CAAA;AACzC,CAAC"}
|
||||
{"version":3,"file":"lang-6502.js","sourceRoot":"","sources":["../../src/parser/lang-6502.ts"],"names":[],"mappings":";;;AAsDA,0BAEC;AAxDD,mDAA6H;AAC7H,gDAAuD;AACvD,gFAA8D;AAEjD,QAAA,SAAS,GAAe,qBAAU,CAAC,MAAM,CAAC;IACnD,MAAM,EAAE,6BAAM,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE;YACH,yBAAc,CAAC,GAAG,CAAC;gBACf,WAAW,EAAE,IAAA,0BAAe,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC/D,CAAC;YACF,uBAAY,CAAC,GAAG,CAAC;gBACb,WAAW,EAAE,qBAAU;aAC1B,CAAC;YACF,IAAA,qBAAS,EAAC;gBACN,UAAU,EAAE,gBAAC,CAAC,YAAY;gBAC1B,cAAc,EAAE,gBAAC,CAAC,IAAI;gBACtB,QAAQ,EAAE,gBAAC,CAAC,UAAU,CAAC,gBAAC,CAAC,YAAY,CAAC;gBACtC,MAAM,EAAE,gBAAC,CAAC,OAAO;gBACjB,KAAK,EAAE,gBAAC,CAAC,SAAS;gBAClB,MAAM,EAAE,gBAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,gBAAC,CAAC,MAAM;gBACd,MAAM,EAAE,gBAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,gBAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,gBAAC,CAAC,WAAW;gBACtB,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,IAAI,EAAE,gBAAC,CAAC,kBAAkB;gBAC1B,KAAK,EAAE,gBAAC,CAAC,kBAAkB;gBAC3B,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,KAAK,EAAE,gBAAC,CAAC,eAAe;gBACxB,KAAK,EAAE,gBAAC,CAAC,eAAe;gBACxB,OAAO,EAAE,gBAAC,CAAC,aAAa;gBACxB,GAAG,EAAE,gBAAC,CAAC,aAAa;gBACpB,SAAS,EAAE,gBAAC,CAAC,eAAe;gBAC5B,QAAQ,EAAE,gBAAC,CAAC,eAAe;gBAC3B,QAAQ,EAAE,gBAAC,CAAC,eAAe;gBAC3B,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,OAAO,EAAE,gBAAC,CAAC,kBAAkB;gBAC7B,KAAK,EAAE,gBAAC,CAAC,UAAU,CAAC,gBAAC,CAAC,YAAY,CAAC;gBACnC,OAAO,EAAE,gBAAC,CAAC,MAAM;gBACjB,GAAG,EAAE,gBAAC,CAAC,iBAAiB;gBACxB,MAAM,EAAE,gBAAC,CAAC,iBAAiB;gBAC3B,qBAAqB,EAAE,gBAAC,CAAC,SAAS;gBAClC,SAAS,EAAE,gBAAC,CAAC,cAAc;gBAC3B,OAAO,EAAE,gBAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,gBAAC,CAAC,SAAS;gBAClB,KAAK,EAAE,gBAAC,CAAC,KAAK;aACjB,CAAC;SACL;KACJ,CAAC;IACF,YAAY,EAAE;QACV,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;KAC/B;CACJ,CAAC,CAAA;AAEF,SAAgB,OAAO;IACnB,OAAO,IAAI,0BAAe,CAAC,iBAAS,CAAC,CAAA;AACzC,CAAC"}
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
||||
import {LRParser} from "@lezer/lr"
|
||||
const spec_Identifier = {__proto__:null,ld:86, push:86, pop:86, inc:86, dec:86, add:86, adc:86, sub:86, sbc:86, and:86, or:86, xor:86, cp:86, ret:86, jp:86, jr:86, call:86, rst:86, nop:86, halt:86, di:86, ei:86, im:86, ex:86, exx:86, neg:86, cpl:86, ccf:86, scf:86, rlca:86, rla:86, rrca:86, rra:86, rlc:86, rl:86, rrc:86, rr:86, sla:86, sra:86, srl:86, bit:86, set:86, res:86, out:86, in:86, djnz:86, rld:86, rrd:86, ldi:86, ldir:86, ldd:86, lddr:86, cpi:86, cpir:86, cpd:86, cpdr:86, ini:86, inir:86, ind:86, indr:86, outi:86, otir:86, outd:86, otdr:86, LD:86, PUSH:86, POP:86, INC:86, DEC:86, ADD:86, ADC:86, SUB:86, SBC:86, AND:86, OR:86, XOR:86, CP:86, RET:86, JP:86, JR:86, CALL:86, RST:86, NOP:86, HALT:86, DI:86, EI:86, IM:86, EX:86, EXX:86, NEG:86, CPL:86, CCF:86, SCF:86, RLCA:86, RLA:86, RRCA:86, RRA:86, RLC:86, RL:86, RRC:86, RR:86, SLA:86, SRA:86, SRL:86, BIT:86, SET:86, RES:86, OUT:86, IN:86, DJNZ:86, RLD:86, RRD:86, LDI:86, LDIR:86, LDD:86, LDDR:86, CPI:86, CPIR:86, CPD:86, CPDR:86, INI:86, INIR:86, IND:86, INDR:86, OUTI:86, OTIR:86, OUTD:86, OTDR:86, mov:86, mvi:86, lxi:86, lda:86, sta:86, lhld:86, shld:86, ldax:86, stax:86, adi:86, aci:86, sui:86, sbi:86, sbb:86, ana:86, ani:86, xra:86, xri:86, ora:86, ori:86, cmp:86, inr:86, dcr:86, inx:86, dcx:86, dad:86, daa:86, cma:86, stc:86, cmc:86, ral:86, rar:86, jmp:86, jnz:86, jz:86, jnc:86, jc:86, jpo:86, jpe:86, jm:86, cnz:86, cz:86, cnc:86, cc:86, cpo:86, cpe:86, cm:86, rnz:86, rz:86, rnc:86, rc:86, rpo:86, rpe:86, rp:86, rm:86, pchl:86, sphl:86, xthl:86, xchg:86, hlt:86, MOV:86, MVI:86, LXI:86, LDA:86, STA:86, LHLD:86, SHLD:86, LDAX:86, STAX:86, ADI:86, ACI:86, SUI:86, SBI:86, SBB:86, ANA:86, ANI:86, XRA:86, XRI:86, ORA:86, ORI:86, CMP:86, INR:86, DCR:86, INX:86, DCX:86, DAD:86, DAA:86, CMA:86, STC:86, CMC:86, RAL:86, RAR:86, JMP:86, JNZ:86, JZ:86, JNC:86, JC:86, JPO:86, JPE:86, JM:86, CNZ:86, CZ:86, CNC:86, CC:86, CPO:86, CPE:86, CM:86, RNZ:86, RZ:86, RNC:86, RC:86, RPO:86, RPE:86, RP:86, RM:86, PCHL:86, SPHL:86, XTHL:86, XCHG:86, HLT:86, a:92, b:92, c:92, d:92, e:92, h:92, l:92, i:92, r:92, af:92, bc:92, de:92, hl:92, ix:92, iy:92, sp:92, pc:92, psw:92, A:92, B:92, C:92, D:92, E:92, H:92, L:92, I:92, R:92, AF:92, BC:92, DE:92, HL:92, IX:92, IY:92, SP:92, PC:92, PSW:92, nz:94, z:94, nc:94, po:94, pe:94, p:94, m:94, NZ:94, Z:94, NC:94, PO:94, PE:94, P:94, M:94, org:96, equ:96, end:96, public:96, ORG:96, EQU:96, END:96, PUBLIC:96}
|
||||
const spec_Identifier = {__proto__:null,ld:86, push:86, pop:86, inc:86, dec:86, add:86, adc:86, sub:86, sbc:86, and:86, or:86, xor:86, cp:86, ret:86, jp:86, jr:86, call:86, rst:86, nop:86, halt:86, di:86, ei:86, im:86, ex:86, exx:86, neg:86, cpl:86, ccf:86, scf:86, rlca:86, rla:86, rrca:86, rra:86, rlc:86, rl:86, rrc:86, rr:86, sla:86, sra:86, srl:86, bit:86, set:86, res:86, out:86, in:86, djnz:86, rld:86, rrd:86, ldi:86, ldir:86, ldd:86, lddr:86, cpi:86, cpir:86, cpd:86, cpdr:86, ini:86, inir:86, ind:86, indr:86, outi:86, otir:86, outd:86, otdr:86, LD:86, PUSH:86, POP:86, INC:86, DEC:86, ADD:86, ADC:86, SUB:86, SBC:86, AND:86, OR:86, XOR:86, CP:86, RET:86, JP:86, JR:86, CALL:86, RST:86, NOP:86, HALT:86, DI:86, EI:86, IM:86, EX:86, EXX:86, NEG:86, CPL:86, CCF:86, SCF:86, RLCA:86, RLA:86, RRCA:86, RRA:86, RLC:86, RL:86, RRC:86, RR:86, SLA:86, SRA:86, SRL:86, BIT:86, SET:86, RES:86, OUT:86, IN:86, DJNZ:86, RLD:86, RRD:86, LDI:86, LDIR:86, LDD:86, LDDR:86, CPI:86, CPIR:86, CPD:86, CPDR:86, INI:86, INIR:86, IND:86, INDR:86, OUTI:86, OTIR:86, OUTD:86, OTDR:86, mov:86, mvi:86, lxi:86, lda:86, sta:86, lhld:86, shld:86, ldax:86, stax:86, adi:86, aci:86, sui:86, sbi:86, sbb:86, ana:86, ani:86, xra:86, xri:86, ora:86, ori:86, cmp:86, inr:86, dcr:86, inx:86, dcx:86, dad:86, daa:86, cma:86, stc:86, cmc:86, ral:86, rar:86, jmp:86, jnz:86, jz:86, jnc:86, jc:86, jpo:86, jpe:86, jm:86, cnz:86, cz:86, cnc:86, cc:86, cpo:86, cpe:86, cm:86, rnz:86, rz:86, rnc:86, rc:86, rpo:86, rpe:86, rp:86, rm:86, pchl:86, sphl:86, xthl:86, xchg:86, hlt:86, MOV:86, MVI:86, LXI:86, LDA:86, STA:86, LHLD:86, SHLD:86, LDAX:86, STAX:86, ADI:86, ACI:86, SUI:86, SBI:86, SBB:86, ANA:86, ANI:86, XRA:86, XRI:86, ORA:86, ORI:86, CMP:86, INR:86, DCR:86, INX:86, DCX:86, DAD:86, DAA:86, CMA:86, STC:86, CMC:86, RAL:86, RAR:86, JMP:86, JNZ:86, JZ:86, JNC:86, JC:86, JPO:86, JPE:86, JM:86, CNZ:86, CZ:86, CNC:86, CC:86, CPO:86, CPE:86, CM:86, RNZ:86, RZ:86, RNC:86, RC:86, RPO:86, RPE:86, RP:86, RM:86, PCHL:86, SPHL:86, XTHL:86, XCHG:86, HLT:86, a:92, b:92, c:92, d:92, e:92, h:92, l:92, i:92, r:92, af:92, bc:92, de:92, hl:92, ix:92, iy:92, sp:92, pc:92, psw:92, A:92, B:92, C:92, D:92, E:92, H:92, L:92, I:92, R:92, AF:92, BC:92, DE:92, HL:92, IX:92, IY:92, SP:92, PC:92, PSW:92, nz:94, z:94, nc:94, po:94, pe:94, p:94, m:94, NZ:94, Z:94, NC:94, PO:94, PE:94, P:94, M:94, defb:96, defw:96, defm:96, DEFB:96, DEFW:96, DEFM:96, org:96, equ:96, end:96, public:96, ORG:96, EQU:96, END:96, PUBLIC:96}
|
||||
export const parser = LRParser.deserialize({
|
||||
version: 14,
|
||||
states: "'OQYQPOOOhQPO'#C`OOQO'#Ce'#CeO!qQPO'#CdOOQO'#DQ'#DQO!xQPO'#DPOOQO'#Cc'#CcOOQO'#C_'#C_O#PQPO'#C_O#UQPO'#C_OOQO'#DR'#DRQYQPOOOOQO,58z,58zOOQO'#Ct'#CtOOQO'#Cu'#CuOvQPO'#CqOOQO'#Cx'#CxOOQO'#Cy'#CyOOQO'#Cv'#CvO$OQPO'#CfOOQO'#Cg'#CgOvQPO'#CgOOQO,59O,59OO$YQPO'#DTO$|QPO,59kOOQO,58y,58yO%TQPO,58yOOQO-E7P-E7PO%YQPO,59]OOQO'#Ck'#CkOOQO'#Cl'#ClOvQPO,59ROvQPO,59ROvQPO,59ROvQPO,59ROvQPO'#DSO&SQPO,59QO&[QPO,59ROOQO-E7R-E7ROOQO1G.e1G.eO'sQPO1G.mO'zQPO1G.mO(RQPO1G.mOOQO1G.m1G.mO)fQPO,59nOOQO-E7Q-E7Q",
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.hexTokenizer = void 0;
|
||||
const lr_1 = require("@lezer/lr");
|
||||
const lang_6502_grammar_terms_1 = require("../../gen/parser/lang-6502.grammar.terms");
|
||||
function isHexDigit(ch) {
|
||||
return (ch >= 48 && ch <= 57) || // 0-9
|
||||
(ch >= 65 && ch <= 70) || // A-F
|
||||
(ch >= 97 && ch <= 102); // a-f
|
||||
}
|
||||
exports.hexTokenizer = new lr_1.ExternalTokenizer((input) => {
|
||||
if (!isHexDigit(input.peek(0)) || !isHexDigit(input.peek(1)))
|
||||
return;
|
||||
let len = 2;
|
||||
while (isHexDigit(input.peek(len)))
|
||||
len++;
|
||||
if (len % 2 === 0)
|
||||
input.acceptToken(lang_6502_grammar_terms_1.HexByte, len);
|
||||
});
|
||||
//# sourceMappingURL=tokens-6502.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"tokens-6502.js","sourceRoot":"","sources":["../../src/parser/tokens-6502.ts"],"names":[],"mappings":";;;AAAA,kCAA6C;AAC7C,sFAAkE;AAElE,SAAS,UAAU,CAAC,EAAU;IAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAK,MAAM;QACpC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAQ,MAAM;QACpC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAA,CAAO,MAAM;AAC5C,CAAC;AAEY,QAAA,YAAY,GAAG,IAAI,sBAAiB,CAAC,CAAC,KAAK,EAAE,EAAE;IACxD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAM;IACpE,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,GAAG,EAAE,CAAA;IACzC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,WAAW,CAAC,iCAAO,EAAE,GAAG,CAAC,CAAA;AACtD,CAAC,CAAC,CAAA"}
|
||||
Reference in New Issue
Block a user