orga-comp/info

29 lines
619 B
Plaintext

lenguaje orga-straight-line
prgm -> stms
stms -> stm; stm (s = s1;s2) -> compound
stms -> stms; stm -> compound
stm -> id = exp (asignacion) -> assign
exp -> numero (literal) -> number
exp -> id (idExp) -> id
exp -> exp op exp (operacion) -> opexp
op -> + (suma) -> plus
op -> - (resta) -> minus
IR:
example:
a = 2 + 2
=>
a = 4
=>
MOV a, 0x0004
a = b + 2
=>
MOV r1, [b]
ADD r1, 0x0002
MOV a, r1
=>
MOV r1, [0xf000]
ADD r1, 0x0002
MOV 0xf001, r1