frostc-1.0.0.0: The Frost Programming Language Compiler
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ast.Types

Synopsis

Documentation

data SrcLoc Source #

Source location for better error reporting

Constructors

SrcLoc 

Fields

Instances

Instances details
Show SrcLoc Source # 
Instance details

Defined in Ast.Types

Eq SrcLoc Source # 
Instance details

Defined in Ast.Types

Methods

(==) :: SrcLoc -> SrcLoc -> Bool #

(/=) :: SrcLoc -> SrcLoc -> Bool #

Ord SrcLoc Source # 
Instance details

Defined in Ast.Types

data Literal Source #

Enhanced literal values including characters and floating-point numbers

Instances

Instances details
Show Literal Source # 
Instance details

Defined in Ast.Types

Eq Literal Source # 
Instance details

Defined in Ast.Types

Methods

(==) :: Literal -> Literal -> Bool #

(/=) :: Literal -> Literal -> Bool #

Ord Literal Source # 
Instance details

Defined in Ast.Types

data Type Source #

Enhanced type system with size information and qualifiers | TInt: Int with bit width (8, 16, 32, 64) | TFloat: 32-bit float | TDouble: 64-bit float | TArray: Array type with optional size | TTypedef: Type aliases

Instances

Instances details
Show Type Source # 
Instance details

Defined in Ast.Types

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

ToLLVM Type Source # 
Instance details

Defined in Codegen.ExprGen.Types

Methods

toLLVM :: Type -> Type0 Source #

Eq Type Source # 
Instance details

Defined in Ast.Types

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

Ord Type Source # 
Instance details

Defined in Ast.Types

Methods

compare :: Type -> Type -> Ordering #

(<) :: Type -> Type -> Bool #

(<=) :: Type -> Type -> Bool #

(>) :: Type -> Type -> Bool #

(>=) :: Type -> Type -> Bool #

max :: Type -> Type -> Type #

min :: Type -> Type -> Type #

data AsmDialect Source #

Assembly dialect

Constructors

Intel 
ATT 

Instances

Instances details
Show AsmDialect Source # 
Instance details

Defined in Ast.Types

Eq AsmDialect Source # 
Instance details

Defined in Ast.Types

Ord AsmDialect Source # 
Instance details

Defined in Ast.Types

data AsmExpr Source #

Assembly expression type

Instances

Instances details
Show AsmExpr Source # 
Instance details

Defined in Ast.Types

Eq AsmExpr Source # 
Instance details

Defined in Ast.Types

Methods

(==) :: AsmExpr -> AsmExpr -> Bool #

(/=) :: AsmExpr -> AsmExpr -> Bool #

Ord AsmExpr Source # 
Instance details

Defined in Ast.Types

data Expr Source #

Enhanced expression nodes | StructAccess: For accessing struct fields | ArrayAccess: For array indexing

Instances

Instances details
Show Expr Source # 
Instance details

Defined in Ast.Types

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

ExprGen Expr Source # 
Instance details

Defined in Codegen.ExprGen.ExprGen

Eq Expr Source # 
Instance details

Defined in Ast.Types

Methods

(==) :: Expr -> Expr -> Bool #

(/=) :: Expr -> Expr -> Bool #

Ord Expr Source # 
Instance details

Defined in Ast.Types

Methods

compare :: Expr -> Expr -> Ordering #

(<) :: Expr -> Expr -> Bool #

(<=) :: Expr -> Expr -> Bool #

(>) :: Expr -> Expr -> Bool #

(>=) :: Expr -> Expr -> Bool #

max :: Expr -> Expr -> Expr #

min :: Expr -> Expr -> Expr #

data Operation Source #

Enhanced operations including bitwise operations

Constructors

Add 
Sub 
Mul 
Div 
Mod 
BitAnd 
BitOr 
BitXor 
BitShl 
BitShr 
Lt 
Gt 
Lte 
Gte 
Eq 
Ne 
And 
Or 

Instances

Instances details
Show Operation Source # 
Instance details

Defined in Ast.Types

Eq Operation Source # 
Instance details

Defined in Ast.Types

Ord Operation Source # 
Instance details

Defined in Ast.Types

data UnaryOperation Source #

Unary operations | Not: Logical not | BitNot: Bitwise not | Deref: Pointer dereference | AddrOf: Address-of operator | PreInc: Pre-increment | PreDec: Pre-decrement | PostInc: Post-increment | PostDec: Post-decrement

data Program Source #

Program representation with global scope information | globals: Global variables and functions | types: Type definitions | sourceFile: Source file name

Constructors

Program 

Fields

Instances

Instances details
Show Program Source # 
Instance details

Defined in Ast.Types

Eq Program Source # 
Instance details

Defined in Ast.Types

Methods

(==) :: Program -> Program -> Bool #

(/=) :: Program -> Program -> Bool #