diff options
Diffstat (limited to 'lib/Language/Elna/CodeGenerator.hs')
| -rw-r--r-- | lib/Language/Elna/CodeGenerator.hs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/Language/Elna/CodeGenerator.hs b/lib/Language/Elna/CodeGenerator.hs index cdbfc01..6097843 100644 --- a/lib/Language/Elna/CodeGenerator.hs +++ b/lib/Language/Elna/CodeGenerator.hs @@ -1,3 +1,16 @@ module Language.Elna.CodeGenerator - ( + ( generateCode ) where + +import Data.Vector (Vector) +import qualified Data.Vector as Vector +import Language.Elna.Intermediate (Quadruple(..)) +import qualified Language.Elna.Architecture.RiscV as RiscV +import Language.Elna.SymbolTable (SymbolTable) + +generateCode :: SymbolTable -> Vector Quadruple -> Vector RiscV.Instruction +generateCode _ _ = Vector.fromList + [ RiscV.Instruction RiscV.OpImm $ RiscV.I RiscV.A0 RiscV.ADDI RiscV.Zero 0 + , RiscV.Instruction RiscV.OpImm $ RiscV.I RiscV.A7 RiscV.ADDI RiscV.Zero 93 + , RiscV.Instruction RiscV.System $ RiscV.Type RiscV.Zero RiscV.PRIV RiscV.Zero RiscV.ECALL + ] |
