diff options
| author | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-08-08 01:01:35 +0530 |
|---|---|---|
| committer | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-08-08 01:01:35 +0530 |
| commit | b82a214687d0b0f95f98dbd5ba7fefd82012fb85 (patch) | |
| tree | eb6a604e6c983aa8b5d93b6ed822494e6ed4dad5 /src/cljcc/compiler.clj | |
| parent | 31afbc6b7393ea3a3682dd617cdd860ff28e9a0a (diff) | |
Add code emission, pass chapter 2 tests
Add generic code emitters
Fix some minor bugs
Diffstat (limited to 'src/cljcc/compiler.clj')
| -rw-r--r-- | src/cljcc/compiler.clj | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/src/cljcc/compiler.clj b/src/cljcc/compiler.clj index b4232e8..028cfbe 100644 --- a/src/cljcc/compiler.clj +++ b/src/cljcc/compiler.clj @@ -89,12 +89,6 @@ {"current" 0} pseudo-values)) -(create-pseudo-value-map - (find-pseudo-values - (->> (:instructions (nth tacky-ex 4)) - (map tacky-inst->assembly-inst) - (flatten)))) - (defn- pseudo->stack-operand-instruction [pvs instruction] (let [pseudo? (fn [inst path] (let [v (get-in inst [path :operand])] @@ -112,11 +106,6 @@ (replace-pseudo :dst) (replace-pseudo :operand)))) -(pseudo->stack-operand-instruction - {"tmp.1" 0} - {:op :mov - :src {:operand :pseudo :identifier "tmp.1"}}) - (defn- replace-pseudoregisters [instructions] (let [pseudo-values (find-pseudo-values instructions) pseudo-value-map (create-pseudo-value-map pseudo-values)] |
