tools/PascalUnitSyntaxTree.hs
changeset 7006 6af78154dc62
parent 6967 1224c6fb36c3
child 7019 333afe233886
equal deleted inserted replaced
6852:9e724f4863a3 7006:6af78154dc62
    30     | String Integer
    30     | String Integer
    31     | Set TypeDecl
    31     | Set TypeDecl
    32     | FunctionType TypeDecl [TypeVarDeclaration]
    32     | FunctionType TypeDecl [TypeVarDeclaration]
    33     | DeriveType InitExpression 
    33     | DeriveType InitExpression 
    34     | VoidType
    34     | VoidType
    35     | UnknownType
       
    36     deriving Show
    35     deriving Show
    37 data Range = Range Identifier
    36 data Range = Range Identifier
    38            | RangeFromTo InitExpression InitExpression
    37            | RangeFromTo InitExpression InitExpression
       
    38            | RangeInfinite
    39     deriving Show
    39     deriving Show
    40 data Initialize = Initialize String
    40 data Initialize = Initialize String
    41     deriving Show
    41     deriving Show
    42 data Finalize = Finalize String
    42 data Finalize = Finalize String
    43     deriving Show
    43     deriving Show
    50         | ForCycle Identifier Expression Expression Phrase
    50         | ForCycle Identifier Expression Expression Phrase
    51         | WithBlock Reference Phrase
    51         | WithBlock Reference Phrase
    52         | Phrases [Phrase]
    52         | Phrases [Phrase]
    53         | SwitchCase Expression [([InitExpression], Phrase)] (Maybe [Phrase])
    53         | SwitchCase Expression [([InitExpression], Phrase)] (Maybe [Phrase])
    54         | Assignment Reference Expression
    54         | Assignment Reference Expression
       
    55         | BuiltInFunctionCall [Expression] Reference
    55         | NOP
    56         | NOP
    56     deriving Show
    57     deriving Show
    57 data Expression = Expression String
    58 data Expression = Expression String
    58     | BuiltInFunCall [Expression] Reference
    59     | BuiltInFunCall [Expression] Reference
    59     | PrefixOp String Expression
    60     | PrefixOp String Expression
   101     | BTString
   102     | BTString
   102     | BTInt
   103     | BTInt
   103     | BTBool
   104     | BTBool
   104     | BTFloat
   105     | BTFloat
   105     | BTRecord [(String, BaseType)]
   106     | BTRecord [(String, BaseType)]
   106     | BTArray BaseType BaseType
   107     | BTArray Range BaseType BaseType
   107     | BTFunction BaseType
   108     | BTFunction BaseType
       
   109     | BTFunctionReturn String BaseType
   108     | BTPointerTo BaseType
   110     | BTPointerTo BaseType
   109     | BTUnresolved String
   111     | BTUnresolved String
   110     | BTSet BaseType
   112     | BTSet BaseType
   111     | BTEnum [String]
   113     | BTEnum [String]
   112     | BTVoid
   114     | BTVoid