alterdekim 36730daf71 Start of Parser
modified:   app/Main.hs
	deleted:    app/NewParser.hs
	modified:   app/Parser.hs
	modified:   as/test.as
2024-11-05 02:40:18 +03:00

22 lines
565 B
Haskell

module Parser where
import Lexer (Token (..), TokenType (..) )
data StmtType = Primary | Numeric deriving (Show, Eq)
class (Show a) => TreeNode a where
stype :: a -> StmtType
children :: a -> [a]
instance TreeNode StmtType where
stype Primary = Primary
children Primary = []
--data PrimaryNode = PrimaryNode { val :: [Char] } deriving (TreeNode)
parseTokens :: [Token] -> TreeNode
parseTokens tt
| k == Literal = PrimaryNode Primary [] (value t)
| otherwise = TreeNode Parser.Numeric []
where t = head tt
k = token_type t