Estrutura Z80 ASM BNF… estou no caminho certo?

Eu estou tentando aprender BNF e tentando montar algum código Z80 ASM. Como sou novo em ambos os campos, minha pergunta é: estou no caminho certo? Eu estou tentando escrever o formato de Z80 ASM como EBNF para que eu possa descobrir para onde ir a partir daí para criar código de máquina da fonte. No momento, tenho o seguinte:

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

Qualquer feedback direcional, se eu estiver errado, seria excelente.

questionAnswers(3)

yourAnswerToTheQuestion