Porcelain/haskell/NewParser.hs
alterdekim 1bfba526de Changes to be committed:
new file:   .gitignore
	new file:   docs/grammar.md
	new file:   haskell/Lexer.hi
	renamed:    haskell/main.hs -> haskell/Lexer.hs
	new file:   haskell/Lexer.o
	new file:   haskell/Main
	new file:   haskell/Main.hi
	new file:   haskell/Main.hs
	new file:   haskell/Main.o
	new file:   haskell/NewParser.hs
	new file:   haskell/Parser.hi
	new file:   haskell/Parser.hs
	new file:   haskell/Parser.o
	new file:   pascal/arr.pas
	new file:   pascal/modifiers.pas
	new file:   pascal/reserved_words.pas
	modified:   pascal/test.pas
2024-10-01 01:08:39 +03:00

11 lines
418 B
Haskell

module Parser (parseIntoTree, TreeNode) where
import Lexer (Token (..), TokenType (..) )
data NodeName = BinOperator | HaltNode | StringConstant | Constant | Void deriving (Show, Eq)
data TreeNode = TreeNode {name :: NodeName, children :: [TreeNode], node_val :: [Char]} deriving (Show)
parseIntoTree :: [Token] -> [TreeNode]
parseIntoTree tokens
| length tokens > 0 = _parseIntoTree tokens
| otherwise = []