Asm/doc/GRAMMAR

30 lines
497 B
Plaintext

program: { newline | section | statement }
newline: [ space ] NEWLINE
space: SPACE { SPACE }
section: "." WORD newline
statement: ( function | space [ instruction ] ) [ space ] newline
function: name [ space ] ":"
name: WORD
instruction: operator [ space [ operand_list ] ]
operator: WORD
operand_list: operand [ space ] { "," [ space ] operand [ space ] }
operand: value | "[" value "]"
value: symbol | register | immediate
symbol: WORD
register: "%" WORD
immediate: "$" NUMBER