aboutsummaryrefslogtreecommitdiff
path: root/ABC
diff options
context:
space:
mode:
authorCamil Staps2016-07-05 17:25:10 +0200
committerCamil Staps2016-07-05 17:25:10 +0200
commitceb0b74bd0b368124679378ebfb2cf316deb2e39 (patch)
tree7f5c562952bcf0427d838274177123765fe93cf5 /ABC
parentProgramStore as array for efficiency (diff)
Added Machine as module level
Diffstat (limited to 'ABC')
-rw-r--r--ABC/Assembler.dcl8
-rw-r--r--ABC/Code/RTS.icl2
-rw-r--r--ABC/Def.icl1
-rw-r--r--ABC/Driver.dcl7
-rw-r--r--ABC/Machine.dcl26
-rw-r--r--ABC/Machine/AStack.dcl (renamed from ABC/AStack.dcl)4
-rw-r--r--ABC/Machine/AStack.icl (renamed from ABC/AStack.icl)4
-rw-r--r--ABC/Machine/BStack.dcl (renamed from ABC/BStack.dcl)4
-rw-r--r--ABC/Machine/BStack.icl (renamed from ABC/BStack.icl)4
-rw-r--r--ABC/Machine/CStack.dcl (renamed from ABC/CStack.dcl)4
-rw-r--r--ABC/Machine/CStack.icl (renamed from ABC/CStack.icl)4
-rw-r--r--ABC/Machine/Def.dcl (renamed from ABC/Def.dcl)14
-rw-r--r--ABC/Machine/Def.icl1
-rw-r--r--ABC/Machine/Driver.dcl7
-rw-r--r--ABC/Machine/Driver.icl (renamed from ABC/Driver.icl)2
-rw-r--r--ABC/Machine/GraphStore.dcl (renamed from ABC/GraphStore.dcl)6
-rw-r--r--ABC/Machine/GraphStore.icl (renamed from ABC/GraphStore.icl)2
-rw-r--r--ABC/Machine/IO.dcl (renamed from ABC/IO.dcl)8
-rw-r--r--ABC/Machine/IO.icl (renamed from ABC/IO.icl)2
-rw-r--r--ABC/Machine/Instructions.dcl (renamed from ABC/Instructions.dcl)8
-rw-r--r--ABC/Machine/Instructions.icl (renamed from ABC/Instructions.icl)2
-rw-r--r--ABC/Machine/Nodes.dcl (renamed from ABC/Nodes.dcl)6
-rw-r--r--ABC/Machine/Nodes.icl (renamed from ABC/Nodes.icl)2
-rw-r--r--ABC/Machine/Program.dcl (renamed from ABC/Program.dcl)4
-rw-r--r--ABC/Machine/Program.icl (renamed from ABC/Program.icl)2
25 files changed, 66 insertions, 68 deletions
diff --git a/ABC/Assembler.dcl b/ABC/Assembler.dcl
index f750609..6b0a585 100644
--- a/ABC/Assembler.dcl
+++ b/ABC/Assembler.dcl
@@ -1,9 +1,9 @@
definition module ABC.Assembler
-from ABC.Def import ::Arity, ::Name, ::NrArgs, ::ArgNr, ::Instruction, ::State
-from ABC.AStack import ::ASrc, ::ADst
-from ABC.BStack import ::BSrc, ::BDst
-from ABC.GraphStore import ::Desc
+from ABC.Machine.Def import ::Arity, ::Name, ::NrArgs, ::ArgNr, ::Instruction, ::State
+from ABC.Machine.AStack import ::ASrc, ::ADst
+from ABC.Machine.BStack import ::BSrc, ::BDst
+from ABC.Machine.GraphStore import ::Desc
:: Label :== String
:: RedLabel :== Label
diff --git a/ABC/Code/RTS.icl b/ABC/Code/RTS.icl
index 89032f3..2551c51 100644
--- a/ABC/Code/RTS.icl
+++ b/ABC/Code/RTS.icl
@@ -1,6 +1,6 @@
implementation module ABC.Code.RTS
-import ABC.Machine
+import ABC.Assembler
rts :: Assembler
rts
diff --git a/ABC/Def.icl b/ABC/Def.icl
deleted file mode 100644
index 81bfeee..0000000
--- a/ABC/Def.icl
+++ /dev/null
@@ -1 +0,0 @@
-implementation module ABC.Def
diff --git a/ABC/Driver.dcl b/ABC/Driver.dcl
deleted file mode 100644
index e5dd9f6..0000000
--- a/ABC/Driver.dcl
+++ /dev/null
@@ -1,7 +0,0 @@
-definition module ABC.Driver
-
-from ABC.Def import ::State, ::Instruction
-from ABC.GraphStore import ::Desc
-
-boot :: ([Instruction], [Desc]) -> State
-fetch_cycle :: State -> State
diff --git a/ABC/Machine.dcl b/ABC/Machine.dcl
index de98de2..68bf4cc 100644
--- a/ABC/Machine.dcl
+++ b/ABC/Machine.dcl
@@ -1,17 +1,15 @@
definition module ABC.Machine
import
- ABC.Def,
-
- ABC.AStack,
- ABC.BStack,
- ABC.CStack,
- ABC.Nodes,
- ABC.GraphStore,
- ABC.Program,
- ABC.IO,
-
- ABC.Instructions,
- ABC.Driver,
-
- ABC.Assembler
+ ABC.Machine.Def,
+
+ ABC.Machine.AStack,
+ ABC.Machine.BStack,
+ ABC.Machine.CStack,
+ ABC.Machine.Nodes,
+ ABC.Machine.GraphStore,
+ ABC.Machine.Program,
+ ABC.Machine.IO,
+
+ ABC.Machine.Instructions,
+ ABC.Machine.Driver
diff --git a/ABC/AStack.dcl b/ABC/Machine/AStack.dcl
index 423b81c..19156c7 100644
--- a/ABC/AStack.dcl
+++ b/ABC/Machine/AStack.dcl
@@ -1,7 +1,7 @@
-definition module ABC.AStack
+definition module ABC.Machine.AStack
from StdOverloaded import class toString
-from ABC.Def import ::NodeId, ::NrArgs
+from ABC.Machine.Def import ::NodeId, ::NrArgs
:: ASrc :== Int
:: ADst :== Int
diff --git a/ABC/AStack.icl b/ABC/Machine/AStack.icl
index 0a91ecd..2dc46ec 100644
--- a/ABC/AStack.icl
+++ b/ABC/Machine/AStack.icl
@@ -1,8 +1,8 @@
-implementation module ABC.AStack
+implementation module ABC.Machine.AStack
import StdEnv
-import ABC.Def
+import ABC.Machine
import ABC.Misc
:: AStack :== [NodeId]
diff --git a/ABC/BStack.dcl b/ABC/Machine/BStack.dcl
index 95cf86e..488ed75 100644
--- a/ABC/BStack.dcl
+++ b/ABC/Machine/BStack.dcl
@@ -1,7 +1,7 @@
-definition module ABC.BStack
+definition module ABC.Machine.BStack
from StdOverloaded import class ==, class toString
-from ABC.Def import ::NrArgs
+from ABC.Machine.Def import ::NrArgs
:: Basic = Int Int
| Bool Bool
diff --git a/ABC/BStack.icl b/ABC/Machine/BStack.icl
index a1caafd..624692e 100644
--- a/ABC/BStack.icl
+++ b/ABC/Machine/BStack.icl
@@ -1,8 +1,8 @@
-implementation module ABC.BStack
+implementation module ABC.Machine.BStack
import StdEnv
-import ABC.Def
+import ABC.Machine
import ABC.Misc
instance == Basic
diff --git a/ABC/CStack.dcl b/ABC/Machine/CStack.dcl
index 31d72de..cab2466 100644
--- a/ABC/CStack.dcl
+++ b/ABC/Machine/CStack.dcl
@@ -1,7 +1,7 @@
-definition module ABC.CStack
+definition module ABC.Machine.CStack
from StdOverloaded import class toString
-from ABC.Def import ::InstrId
+from ABC.Machine.Def import ::InstrId
:: CSrc :== Int
:: CDst :== Int
diff --git a/ABC/CStack.icl b/ABC/Machine/CStack.icl
index 74ca885..51c1562 100644
--- a/ABC/CStack.icl
+++ b/ABC/Machine/CStack.icl
@@ -1,8 +1,8 @@
-implementation module ABC.CStack
+implementation module ABC.Machine.CStack
import StdEnv
-import ABC.Def
+import ABC.Machine
import ABC.Misc
:: CStack :== [InstrId]
diff --git a/ABC/Def.dcl b/ABC/Machine/Def.dcl
index db2c0c0..ba36fb6 100644
--- a/ABC/Def.dcl
+++ b/ABC/Machine/Def.dcl
@@ -1,11 +1,11 @@
-definition module ABC.Def
+definition module ABC.Machine.Def
-from ABC.AStack import ::AStack
-from ABC.BStack import ::BStack
-from ABC.CStack import ::CStack
-from ABC.GraphStore import ::GraphStore, ::DescStore
-from ABC.Program import ::ProgramStore
-from ABC.IO import ::IO
+from ABC.Machine.AStack import ::AStack
+from ABC.Machine.BStack import ::BStack
+from ABC.Machine.CStack import ::CStack
+from ABC.Machine.GraphStore import ::GraphStore, ::DescStore
+from ABC.Machine.Program import ::ProgramStore
+from ABC.Machine.IO import ::IO
:: State = { astack :: AStack
, bstack :: BStack
diff --git a/ABC/Machine/Def.icl b/ABC/Machine/Def.icl
new file mode 100644
index 0000000..4d22f22
--- /dev/null
+++ b/ABC/Machine/Def.icl
@@ -0,0 +1 @@
+implementation module ABC.Machine.Def
diff --git a/ABC/Machine/Driver.dcl b/ABC/Machine/Driver.dcl
new file mode 100644
index 0000000..5beebe5
--- /dev/null
+++ b/ABC/Machine/Driver.dcl
@@ -0,0 +1,7 @@
+definition module ABC.Machine.Driver
+
+from ABC.Machine.Def import ::State, ::Instruction
+from ABC.Machine.GraphStore import ::Desc
+
+boot :: ([Instruction], [Desc]) -> State
+fetch_cycle :: State -> State
diff --git a/ABC/Driver.icl b/ABC/Machine/Driver.icl
index 633d248..29b42ca 100644
--- a/ABC/Driver.icl
+++ b/ABC/Machine/Driver.icl
@@ -1,4 +1,4 @@
-implementation module ABC.Driver
+implementation module ABC.Machine.Driver
import StdEnv
diff --git a/ABC/GraphStore.dcl b/ABC/Machine/GraphStore.dcl
index 108a77e..da96156 100644
--- a/ABC/GraphStore.dcl
+++ b/ABC/Machine/GraphStore.dcl
@@ -1,8 +1,8 @@
-definition module ABC.GraphStore
+definition module ABC.Machine.GraphStore
from StdOverloaded import class toString
-from ABC.Def import ::Arity, ::InstrId, ::Name, ::APEntry, ::DescId, ::NodeId
-from ABC.Nodes import ::Node
+from ABC.Machine.Def import ::Arity, ::InstrId, ::Name, ::APEntry, ::DescId, ::NodeId
+from ABC.Machine.Nodes import ::Node
:: Desc = Desc APEntry Arity Name
diff --git a/ABC/GraphStore.icl b/ABC/Machine/GraphStore.icl
index fd41517..b7aa32e 100644
--- a/ABC/GraphStore.icl
+++ b/ABC/Machine/GraphStore.icl
@@ -1,4 +1,4 @@
-implementation module ABC.GraphStore
+implementation module ABC.Machine.GraphStore
import StdEnv
diff --git a/ABC/IO.dcl b/ABC/Machine/IO.dcl
index 501d8cc..a9b1c5b 100644
--- a/ABC/IO.dcl
+++ b/ABC/Machine/IO.dcl
@@ -1,10 +1,10 @@
-definition module ABC.IO
+definition module ABC.Machine.IO
from StdOverloaded import class toString
-from ABC.Nodes import ::Node
-from ABC.GraphStore import ::Desc
-from ABC.Def import ::State
+from ABC.Machine.Nodes import ::Node
+from ABC.Machine.GraphStore import ::Desc
+from ABC.Machine.Def import ::State
:: IO (:== [Char])
diff --git a/ABC/IO.icl b/ABC/Machine/IO.icl
index 0762ed2..aac5ba7 100644
--- a/ABC/IO.icl
+++ b/ABC/Machine/IO.icl
@@ -1,4 +1,4 @@
-implementation module ABC.IO
+implementation module ABC.Machine.IO
import StdEnv
diff --git a/ABC/Instructions.dcl b/ABC/Machine/Instructions.dcl
index 45bd568..6c3c8b8 100644
--- a/ABC/Instructions.dcl
+++ b/ABC/Machine/Instructions.dcl
@@ -1,8 +1,8 @@
-definition module ABC.Instructions
+definition module ABC.Machine.Instructions
-from ABC.Def import ::NrArgs, ::State, ::DescId, ::Arity, ::InstrId, ::ArgNr
-from ABC.AStack import ::ASrc, ::ADst
-from ABC.BStack import ::BSrc, ::BDst
+from ABC.Machine.Def import ::NrArgs, ::State, ::DescId, ::Arity, ::InstrId, ::ArgNr
+from ABC.Machine.AStack import ::ASrc, ::ADst
+from ABC.Machine.BStack import ::BSrc, ::BDst
add_args :: ASrc NrArgs ADst State -> State
create :: State -> State
diff --git a/ABC/Instructions.icl b/ABC/Machine/Instructions.icl
index 6317972..911b999 100644
--- a/ABC/Instructions.icl
+++ b/ABC/Machine/Instructions.icl
@@ -1,4 +1,4 @@
-implementation module ABC.Instructions
+implementation module ABC.Machine.Instructions
import StdEnv
diff --git a/ABC/Nodes.dcl b/ABC/Machine/Nodes.dcl
index 9edd604..b9ba996 100644
--- a/ABC/Nodes.dcl
+++ b/ABC/Machine/Nodes.dcl
@@ -1,7 +1,7 @@
-definition module ABC.Nodes
+definition module ABC.Machine.Nodes
-from ABC.Def import ::ArgNr, ::Arity, ::NodeId, ::InstrId, ::Args, ::DescId, ::NrArgs
-from ABC.BStack import ::Basic
+from ABC.Machine.Def import ::ArgNr, ::Arity, ::NodeId, ::InstrId, ::Args, ::DescId, ::NrArgs
+from ABC.Machine.BStack import ::Basic
:: Node = Node DescId InstrId Args
| Basic DescId InstrId Basic
diff --git a/ABC/Nodes.icl b/ABC/Machine/Nodes.icl
index 55be090..d224fd8 100644
--- a/ABC/Nodes.icl
+++ b/ABC/Machine/Nodes.icl
@@ -1,4 +1,4 @@
-implementation module ABC.Nodes
+implementation module ABC.Machine.Nodes
import StdEnv
diff --git a/ABC/Program.dcl b/ABC/Machine/Program.dcl
index ffdf948..0526e56 100644
--- a/ABC/Program.dcl
+++ b/ABC/Machine/Program.dcl
@@ -1,6 +1,6 @@
-definition module ABC.Program
+definition module ABC.Machine.Program
-from ABC.Def import ::InstrId, ::Instruction, ::State
+from ABC.Machine.Def import ::InstrId, ::Instruction, ::State
pc_init :: InstrId
pc_next :: InstrId -> InstrId
diff --git a/ABC/Program.icl b/ABC/Machine/Program.icl
index 28416bb..5b4e822 100644
--- a/ABC/Program.icl
+++ b/ABC/Machine/Program.icl
@@ -1,4 +1,4 @@
-implementation module ABC.Program
+implementation module ABC.Machine.Program
import StdEnv