working on prehod 2...

This commit is contained in:
Jaka Furlan 2025-12-13 17:27:34 +01:00
parent f79aa96359
commit 6261d9fe37
6 changed files with 84 additions and 27 deletions

View file

@ -1,6 +1,10 @@
(*prebere parsano kodo in izvede semantično analizo*)
type register = | A | X | L | B | S | T | F | PC | SW
let string_of_register (r : register) : string =
match r with
| A -> "A" | X -> "X" | L -> "L" | B -> "B" | S -> "S" | T -> "T" | F -> "F" | PC -> "PC" | SW -> "SW"
let parse_register = function
| "A" -> A | "X" -> X | "L" -> L | "B" -> B
| "S" -> S | "T" -> T | "F" -> F | "PC" -> PC | "SW" -> SW
@ -27,9 +31,9 @@ let string_of_mnemonic_type = function
| MnemonicDn s -> "MnemonicDn(" ^ s ^ ")"
| MnemonicF1 -> "MnemonicF1"
| MnemonicF2n n -> "MnemonicF2n(" ^ string_of_int n ^ ")"
| MnemonicF2r _ -> "MnemonicF2r"
| MnemonicF2rn (_, _) -> "MnemonicF2rn"
| MnemonicF2rr (_, _) -> "MnemonicF2rr"
| MnemonicF2r r1 -> "MnemonicF2r(" ^ string_of_register r1 ^ ")"
| MnemonicF2rn (r1, n) -> "MnemonicF2rn(" ^ string_of_register r1 ^ ", " ^ string_of_int n ^ ")"
| MnemonicF2rr (r1, r2) -> "MnemonicF2rr(" ^ string_of_register r1 ^ ", " ^ string_of_register r2 ^ ")"
| MnemonicF3 -> "MnemonicF3"
| MnemonicF3m s -> "MnemonicF3m(" ^ s ^ ")"
| MnemonicF4m s -> "MnemonicF4m(" ^ s ^ ")"