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" ;

Любая направленная обратная связь, если я иду не так, была бы превосходна.

Ответы на вопрос(3)

Ваш ответ на вопрос