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 System.IO
|
||||||
import Lexer
|
import Lexer
|
||||||
--import Parser
|
import Parser
|
||||||
|
|
||||||
{-
|
{-
|
||||||
main = do
|
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 (..) )
|
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 {
|
var i: int = 0;
|
||||||
import flash.text.TextField;
|
|
||||||
import flash.display.Sprite;
|
|
||||||
|
|
||||||
public class TextHello extends Sprite {
|
|
||||||
var l: int = 10.5;
|
|
||||||
if( l >= 4.0 ) {
|
|
||||||
l += 3;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user