Sockeye: Better naming for some AST types
authorDaniel Schwyn <schwyda@student.ethz.ch>
Wed, 12 Jul 2017 09:09:15 +0000 (11:09 +0200)
committerDaniel Schwyn <schwyda@student.ethz.ch>
Wed, 12 Jul 2017 09:09:15 +0000 (11:09 +0200)
Signed-off-by: Daniel Schwyn <schwyda@student.ethz.ch>

tools/sockeye/SockeyeAST.hs
tools/sockeye/SockeyeASTParser.hs
tools/sockeye/SockeyeChecker.hs
tools/sockeye/SockeyeNetBuilder.hs
tools/sockeye/SockeyeParser.hs

index 071b915..3a72e49 100644 (file)
@@ -32,12 +32,12 @@ data Module = Module
     } deriving (Show)
 
 data ModuleParamType 
-    = NumberParam
+    = NaturalParam
     | AddressParam
     deriving (Eq)
 
 instance Show ModuleParamType where
-    show NumberParam = "nat"
+    show NaturalParam = "nat"
     show AddressParam = "addr"
 
 data Port
@@ -58,7 +58,7 @@ data ModuleInst
 
 data ModuleArg
     = AddressArg !Word
-    | NumberArg !Word
+    | NaturalArg !Word
     | ParamArg !String
     deriving (Show)
 
@@ -120,7 +120,7 @@ data MapSpec
         } deriving (Show)
 
 data Address
-    = NumberAddress !Word
+    = LiteralAddress !Word
     | ParamAddress !String
     deriving (Show)
 
@@ -137,6 +137,6 @@ data ForRange
     } deriving (Show)
 
 data ForLimit 
-    = NumberLimit !Word
+    = LiteralLimit !Word
     | ParamLimit !String
     deriving (Show)
index 71beba6..ee93b29 100644 (file)
@@ -21,8 +21,8 @@ module SockeyeASTParser
 import SockeyeAST
     ( Identifier(SimpleIdent, TemplateIdent)
     , prefix, varName, suffix
-    , ModuleParamType(NumberParam, AddressParam)
-    , ModuleArg(AddressArg, NumberArg, ParamArg)
+    , ModuleParamType(NaturalParam, AddressParam)
+    , ModuleArg(AddressArg, NaturalArg, ParamArg)
     , NodeSpec(NodeSpec)
     , nodeType, accept, translate, overlay
     , NodeType(Memory, Device)
@@ -30,8 +30,8 @@ import SockeyeAST
     , base, limit, bits
     , MapSpec(MapSpec)
     , block, destNode, destBase
-    , Address(NumberAddress, ParamAddress)
-    , ForLimit(NumberLimit, ParamLimit)
+    , Address(LiteralAddress, ParamAddress)
+    , ForLimit(LiteralLimit, ParamLimit)
     )
 
 data SockeyeSpec = SockeyeSpec
index 3b715e3..714abeb 100644 (file)
@@ -284,10 +284,10 @@ instance Checkable ParseAST.ModuleInst AST.ModuleInst where
                                 if expected == AST.AddressParam
                                     then return $ AST.AddressArg value
                                     else Left $ mismatch AST.AddressParam
-                            ParseAST.NumberArg value -> do
-                                if expected == AST.NumberParam
-                                    then return $ AST.NumberArg value
-                                    else Left $ mismatch AST.NumberParam
+                            ParseAST.NaturalArg value -> do
+                                if expected == AST.NaturalParam
+                                    then return $ AST.NaturalArg value
+                                    else Left $ mismatch AST.NaturalParam
                             ParseAST.ParamArg pName -> do
                                 checkParamType context pName expected
                                 return $ AST.ParamArg pName
@@ -401,8 +401,8 @@ instance Checkable ParseAST.MapSpec AST.MapSpec where
             }
 
 instance Checkable ParseAST.Address AST.Address where
-    check _ (ParseAST.NumberAddress value) = do
-        return $ AST.NumberAddress value
+    check _ (ParseAST.LiteralAddress value) = do
+        return $ AST.LiteralAddress value
     check context (ParseAST.ParamAddress name) = do
         checkParamType context name AST.AddressParam
         return $ AST.ParamAddress name
@@ -440,10 +440,10 @@ instance Checkable ParseAST.ForVarRange AST.ForRange where
             }
 
 instance Checkable ParseAST.ForLimit AST.ForLimit where
-    check _ (ParseAST.NumberLimit value) = do
-        return $ AST.NumberLimit value
+    check _ (ParseAST.LiteralLimit value) = do
+        return $ AST.LiteralLimit value
     check context (ParseAST.ParamLimit name) = do
-        checkParamType context name AST.NumberParam
+        checkParamType context name AST.NaturalParam
         return $ AST.ParamLimit name
 
 instance Checkable a b => Checkable [a] [b] where
index 4c29391..712112d 100644 (file)
@@ -112,7 +112,7 @@ instance NetTransformable AST.ModuleInst NetList where
 
 instance NetTransformable AST.ModuleArg Word where
     transform context (AST.AddressArg value) = value
-    transform context (AST.NumberArg value) = value
+    transform context (AST.NaturalArg value) = value
     transform context (AST.ParamArg name) = getParamValue context name
 
 
@@ -199,7 +199,7 @@ instance NetTransformable AST.MapSpec NetAST.MapSpec where
             }
 
 instance NetTransformable AST.Address NetAST.Address where
-    transform _ (AST.NumberAddress value) = value
+    transform _ (AST.LiteralAddress value) = value
     transform context (AST.ParamAddress name) = getParamValue context name
 
 instance NetTransformable a NetList => NetTransformable (AST.For a) NetList where
@@ -232,7 +232,7 @@ instance NetTransformable AST.ForRange [Word] where
         in [startVal..endVal]
 
 instance NetTransformable AST.ForLimit Word where
-    transform _ (AST.NumberLimit value) = value
+    transform _ (AST.LiteralLimit value) = value
     transform context (AST.ParamLimit name) = getParamValue context name
 
 instance NetTransformable a b => NetTransformable (Map k a) (Map k b) where
index 8328ee0..9ac7778 100644 (file)
@@ -66,7 +66,7 @@ moduleParam = do
     where
         intType = do
             symbol "nat"
-            return AST.NumberParam
+            return AST.NaturalParam
         addrType = do
             symbol "addr" 
             return AST.AddressParam
@@ -139,7 +139,7 @@ moduleArg = choice [addressArg, numberArg, paramArg]
             return $ AST.AddressArg (fromIntegral addr)
         numberArg = do
             num <- numberLiteral
-            return $ AST.NumberArg (fromIntegral num)
+            return $ AST.NaturalArg (fromIntegral num)
         paramArg = do
             name <- parameterName
             return $ AST.ParamArg name
@@ -244,7 +244,7 @@ address = choice [address, param]
     where
         address = do
             addr <- addressLiteral
-            return $ AST.NumberAddress (fromIntegral addr)
+            return $ AST.LiteralAddress (fromIntegral addr)
         param = do
             name <- parameterName
             return $ AST.ParamAddress name
@@ -290,7 +290,7 @@ forVarRange optVarName
         index = choice [numberIndex, paramIndex]
         numberIndex = do
             num <- numberLiteral
-            return $ AST.NumberLimit (fromIntegral num)
+            return $ AST.LiteralLimit (fromIntegral num)
         paramIndex = do
             name <- parameterName
             return $ AST.ParamLimit name