From c8e97a9e6ebfefec0db5bc51bd095b3d10dfd078 Mon Sep 17 00:00:00 2001 From: Matthew Hall Date: Fri, 17 Feb 2023 23:45:26 +1300 Subject: Lexing and parsing overhaul --- DSL/Types.hs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'DSL/Types.hs') diff --git a/DSL/Types.hs b/DSL/Types.hs index 2c33aad..8d59a06 100644 --- a/DSL/Types.hs +++ b/DSL/Types.hs @@ -63,22 +63,22 @@ data Machine = Machine { ok :: Bool , stack :: Stack } -data TokenData +data TokenTag = T_WHITESPACE | T_IF | T_ELSE | T_WHILE | T_DO | T_END - | T_BOOL_LITERAL Bool - | T_INT_LITERAL Integer + | T_BOOL_LITERAL + | T_INT_LITERAL | T_INTRINSIC Intrinsic deriving (Show, Eq) -data DSLToken = DSLToken { tStr :: String -- original text - , tData :: TokenData -- actual data - } deriving (Show) +data Token = Token { tStr :: String -- original text + , tTag :: TokenTag -- actual data + } deriving (Show) -type DSLLexer = Parser Char DSLToken -type DSLParser = Parser DSLToken +type DSLLexer = Parser Char Token +type DSLParser = Parser Token -- cgit v1.2.1