Z80 ASM BNF структура ... я на правильном пути?
Я пытаюсь изучить BNF и пытаюсь собрать некоторый код Z80 ASM. Поскольку я новичок в обеих областях, мой вопрос, я даже на правильном пути? Я пытаюсь записать формат Z80 ASM в формате EBNF, чтобы затем выяснить, куда идти дальше для создания машинного кода из исходного кода. На данный момент у меня есть следующее:
Assignment = Identifier, ":" ;
Instruction = Opcode, [ Operand ], [ Operand ] ;
Operand = Identifier | Something* ;
Something* = "(" , Identifier, ")" ;
Identifier = Alpha, { Numeric | Alpha } ;
Opcode = Alpha, Alpha ;
Int = [ "-" ], Numeric, { Numeric } ;
Alpha = "A" | "B" | "C" | "D" | "E" | "F" |
"G" | "H" | "I" | "J" | "K" | "L" |
"M" | "N" | "O" | "P" | "Q" | "R" |
"S" | "T" | "U" | "V" | "W" | "X" |
"Y" | "Z" ;
Numeric = "0" | "1" | "2" | "3"| "4" |
"5" | "6" | "7" | "8" | "9" ;
Любая направленная обратная связь, если я иду не так, была бы превосходна.