Start of Parser
modified: app/Main.hs deleted: app/NewParser.hs modified: app/Parser.hs modified: as/test.as
This commit is contained in:
parent
819885b6c1
commit
36730daf71
@ -2,7 +2,7 @@ module Main where
|
||||
|
||||
import System.IO
|
||||
import Lexer
|
||||
--import Parser
|
||||
import Parser
|
||||
|
||||
{-
|
||||
main = do
|
||||
|
@ -1,11 +0,0 @@
|
||||
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 = []
|
@ -2,3 +2,21 @@ 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
|
12
as/test.as
12
as/test.as
@ -1,11 +1 @@
|
||||
package {
|
||||
import flash.text.TextField;
|
||||
import flash.display.Sprite;
|
||||
|
||||
public class TextHello extends Sprite {
|
||||
var l: int = 10.5;
|
||||
if( l >= 4.0 ) {
|
||||
l += 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
var i: int = 0;
|
Loading…
x
Reference in New Issue
Block a user