Subversion

guisurfer_software

[/] [Absjava.hs] - Rev 1

Compare with Previous - Blame


module Absjava where

-- Haskell module generated by the BNF converter

newtype Ident = Ident String deriving (Eq,Ord,Show)
newtype Unsigned = Unsigned String deriving (Eq,Ord,Show)
newtype Long = Long String deriving (Eq,Ord,Show)
newtype UnsignedLong = UnsignedLong String deriving (Eq,Ord,Show)
newtype Hexadecimal = Hexadecimal String deriving (Eq,Ord,Show)
newtype HexUnsigned = HexUnsigned String deriving (Eq,Ord,Show)
newtype HexLong = HexLong String deriving (Eq,Ord,Show)
newtype HexUnsLong = HexUnsLong String deriving (Eq,Ord,Show)
newtype Octal = Octal String deriving (Eq,Ord,Show)
newtype OctalUnsigned = OctalUnsigned String deriving (Eq,Ord,Show)
newtype OctalLong = OctalLong String deriving (Eq,Ord,Show)
newtype OctalUnsLong = OctalUnsLong String deriving (Eq,Ord,Show)
newtype JDouble = JDouble String deriving (Eq,Ord,Show)
newtype JFloat = JFloat String deriving (Eq,Ord,Show)
newtype JLongDouble = JLongDouble String deriving (Eq,Ord,Show)
newtype UnicodeChar = UnicodeChar String deriving (Eq,Ord,Show)
newtype JChar = JChar String deriving (Eq,Ord,Show)
data ProgramFile =
   Prpkg [Ident] [Semi] [Import] [TypeDecl]
 | ProgF [Import] [TypeDecl]
  deriving (Eq,Ord,Show)

data Import =
   ImportN [Ident] [Semi]
 | ImportA [Ident] [Semi]
  deriving (Eq,Ord,Show)

data TypeDecl =
   TypeDecl ClassHeader [FieldDeclaration]
  deriving (Eq,Ord,Show)

data ClassHeader =
   ClassDec [Modifier] Ident
 | ClassDecE [Modifier] Ident [TypeName]
 | ClassDecI [Modifier] Ident [TypeName]
 | ClassDecEI [Modifier] Ident [TypeName] [TypeName]
 | InterDec [Modifier] Ident
 | InterDecE [Modifier] Ident [TypeName]
 | InterDecI [Modifier] Ident [TypeName]
 | InterDecEI [Modifier] Ident [TypeName] [TypeName]
  deriving (Eq,Ord,Show)

data FieldDeclaration =
   Dvar [Modifier] TypeSpec [VarDecl]
 | Dmth [Modifier] TypeSpec MethodDecl MethodBody
 | Dmthth [Modifier] TypeSpec MethodDecl [TypeName] MethodBody
 | Dconst [Modifier] Ident [Parameter] Body
 | Dconstt [Modifier] Ident [Parameter] [TypeName] Body
 | Dblk Body
 | Dinnerclass TypeDecl
  deriving (Eq,Ord,Show)

data MethodBody =
   IBody
 | MBody Body
  deriving (Eq,Ord,Show)

data LVarStatement =
   LVar TypeSpec [VarDecl]
 | LVarf TypeSpec [VarDecl]
 | Statem Stm
  deriving (Eq,Ord,Show)

data Body =
   Body [LVarStatement]
  deriving (Eq,Ord,Show)

data Stm =
   Sem
 | Lbl Ident
 | Case Exp
 | Dflt
 | Exps Exp
 | LV [LVarStatement]
 | Jmp JumpStm
 | Grd GuardStm
 | Iter IterStm
 | Sel SelectionStm
  deriving (Eq,Ord,Show)

data DeclaratorName =
   DeclName Ident
 | DeclArray Ident [BracketsOpt]
  deriving (Eq,Ord,Show)

data VarDecl =
   VDeclAssign DeclaratorName VariableInits
 | VDecl Ident
  deriving (Eq,Ord,Show)

data VariableInits =
   IExp Exp
 | IEmpt
 | IArri ArrayInits
  deriving (Eq,Ord,Show)

data ArrayInits =
   Vainit VariableInits
 | Vai ArrayInits VariableInits
 | Vais ArrayInits
  deriving (Eq,Ord,Show)

data MethodDecl =
   Mth DeclaratorName [Parameter]
 | MthdArr MethodDecl BracketsOpt
  deriving (Eq,Ord,Show)

data Parameter =
   Param TypeSpec DeclaratorName
 | Pfinal TypeSpec DeclaratorName
  deriving (Eq,Ord,Show)

data SelectionStm =
   Ifone Exp Stm [Elseif]
 | If Exp Stm [Elseif] Stm
 | Switch Exp Body
  deriving (Eq,Ord,Show)

data Elseif =
   Elseif Exp Stm
  deriving (Eq,Ord,Show)

data JumpStm =
   Break
 | Brlabel Ident
 | Continue
 | Continuelabel Ident
 | Return
 | ReturnExp Exp
 | Throw Exp
  deriving (Eq,Ord,Show)

data GuardStm =
   Synchronized Exp Body
 | Try Body [Catch]
 | Tryfinally Body [Catch] Body
  deriving (Eq,Ord,Show)

data Catch =
   Catch1 TypeSpec Ident Body
 | Catch2 TypeSpec Body
  deriving (Eq,Ord,Show)

data IterStm =
   While Exp Stm
 | Do Stm Exp
 | For ForInit [Exp] [Exp] Stm
  deriving (Eq,Ord,Show)

data ForInit =
   Exprs1 [Exp]
 | DVar TypeSpec [VarDecl]
 | DVarf TypeSpec [VarDecl]
  deriving (Eq,Ord,Show)

data Modifier =
   Mabstract
 | Mfinal
 | Mpublic
 | Mprotected
 | Mprivate
 | Mtransient
 | Mvolatile
 | Mnative
 | Msync
 | Mstatic
  deriving (Eq,Ord,Show)

data BasicType =
   Tchar
 | Tshort
 | Tint
 | Tlong
 | Tfloat
 | Tdouble
 | Tbyte
 | Tboolean
  deriving (Eq,Ord,Show)

data TypeSpec =
   ArrayType TypeName [BracketsOpt]
 | TypeName TypeName
  deriving (Eq,Ord,Show)

data TypeName =
   BuiltIn BasicType
 | ClassType [Ident]
  deriving (Eq,Ord,Show)

data BracketsOpt =
   BracketsOpt
  deriving (Eq,Ord,Show)

data Exp =
   Eassign Exp Assignment_op Exp
 | Etype Exp TypeName
 | Econdition Exp Exp Exp
 | Elor Exp Exp
 | Eland Exp Exp
 | Ebitor Exp Exp
 | Ebitexor Exp Exp
 | Ebitand Exp Exp
 | Eeq Exp Exp
 | Eneq Exp Exp
 | Elthen Exp Exp
 | Egrthen Exp Exp
 | Ele Exp Exp
 | Ege Exp Exp
 | Eleft Exp Exp
 | Eright Exp Exp
 | Etrip Exp Exp
 | Eplus Exp Exp
 | Eminus Exp Exp
 | Etimes Exp Exp
 | Ediv Exp Exp
 | Emod Exp Exp
 | Ebcoercion BasicType Exp
 | Eexpcoercion Exp Exp
 | Earrcoercion [Ident] [BracketsOpt] Exp
 | Epreop Unary_operator Exp
 | Epreinc Exp
 | Epredec Exp
 | Epostinc Exp
 | Epostdec Exp
 | Especname SpecName
 | Earr ArrAcc
 | Emth MthCall
 | Efld FieldAcc
 | Econst Constant
 | Estring String
 | Enewalloc NewAlloc
 | Evar [Ident]
  deriving (Eq,Ord,Show)

data SpecName =
   SSsuper
 | SSthis
 | SSnull
  deriving (Eq,Ord,Show)

data NewAlloc =
   Anewclass TypeName Args
 | Anewinnerclass TypeName Args [FieldDeclaration]
 | Anewarray TypeName [DimExpr]
 | Anewarriempty TypeName [DimExpr]
 | Anewarrinits TypeName [DimExpr] ArrayInits
  deriving (Eq,Ord,Show)

data ArrAcc =
   Aarr [Ident] Exp
 | Aarr1 SpecExp Exp
  deriving (Eq,Ord,Show)

data SpecExp =
   Cep Exp
 | Cnp SpecExpNP
 | Cthis SpecName
  deriving (Eq,Ord,Show)

data SpecExpNP =
   CNLit Constant
 | CNParr ArrAcc
 | CNPmth MthCall
 | CNPfld FieldAcc
  deriving (Eq,Ord,Show)

data MthCall =
   Mmth [Ident] Args
 | Mmth1 SpecExpNP Args
 | Mmthspec SpecName Args
  deriving (Eq,Ord,Show)

data FieldAcc =
   Ffvar SpecExp Ident
 | Ffvar1 NewAlloc Ident
 | Ffthis [Ident]
 | Fclass [Ident]
 | Ffclass2 BasicType
  deriving (Eq,Ord,Show)

data Args =
   Args [Exp]
  deriving (Eq,Ord,Show)

data DimExpr =
   DimExpr Exp
  deriving (Eq,Ord,Show)

data Constant =
   Efloat Double
 | Echar JChar
 | Eunicode UnicodeChar
 | Eunsigned Unsigned
 | Elong Long
 | Eunsignlong UnsignedLong
 | Ehexadec Hexadecimal
 | Ehexaunsign HexUnsigned
 | Ehexalong HexLong
 | Ehexaunslong HexUnsLong
 | Eoctal Octal
 | Eoctalunsign OctalUnsigned
 | Eoctallong OctalLong
 | Eoctalunslong OctalUnsLong
 | Ecdouble JDouble
 | Ecfloat JFloat
 | Eclongdouble JLongDouble
 | Eint Integer
 | Etrue
 | Efalse
 | Elonger Integer
 | Edouble Double
  deriving (Eq,Ord,Show)

data Unary_operator =
   Plus
 | Negative
 | Complement
 | Logicalneg
  deriving (Eq,Ord,Show)

data Assignment_op =
   Assign
 | AssignMul
 | AssignDiv
 | AssignMod
 | AssignAdd
 | AssignSub
 | AssignLeft
 | AssignRight
 | AssignTrip
 | AssignAnd
 | AssignXor
 | AssignOr
  deriving (Eq,Ord,Show)

data Semi =
   Sem1
  deriving (Eq,Ord,Show)


Theme by Vikram Singh | Powered by WebSVN v1.61