Struktura Z80 ASM BNF… czy jestem na dobrej drodze?

Próbuję nauczyć się BNF i próbować zebrać kod ASM Z80. Ponieważ jestem nowy w obu dziedzinach, moje pytanie brzmi: czy jestem na dobrej drodze? Próbuję napisać format Z80 ASM jako EBNF, dzięki czemu mogę dowiedzieć się, dokąd pójść, aby utworzyć kod maszynowy ze źródła. W tej chwili mam następujące:

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

Każda informacja zwrotna, jeśli się nie uda, byłaby doskonała.

questionAnswers(3)

yourAnswerToTheQuestion