summaryrefslogtreecommitdiffstats
path: root/src/ltypes.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ltypes.hs')
-rw-r--r--src/ltypes.hs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/ltypes.hs b/src/ltypes.hs
new file mode 100644
index 0000000..bb7e0de
--- /dev/null
+++ b/src/ltypes.hs
@@ -0,0 +1,24 @@
+module LTypes where
+
+import Utils
+
+data LWord
+ = LSymbol String
+ | LInteger Integer
+ | LFloat Double
+ | LBool Bool
+ | LChar Char
+ | LLabel String
+ | LStringLitRef String
+ | LPhrase [LWord]
+ deriving (Show, Eq)
+
+reprWord :: LWord -> String
+reprWord (LSymbol a) = a
+reprWord (LInteger a) = show a
+reprWord (LFloat a) = show a
+reprWord (LBool a) = show a
+reprWord (LChar a) = show a
+reprWord (LLabel a) = a
+reprWord (LStringLitRef a) = "StrLit(" ++ a ++ ")"
+reprWord (LPhrase a) = "P[ " ++ map reprWord a $> unwords ++ " ]"