WebBits-2.2: JavaScript analysis tools

Safe HaskellSafe-Infered

BrownPLT.JavaScript.Syntax

Description

JavaScript's syntax.

Documentation

data CaseClause a Source

Constructors

CaseClause a (Expression a) [Statement a] 
CaseDefault a [Statement a] 

Instances

data CatchClause a Source

Constructors

CatchClause a (Id a) (Statement a) 

Instances

data VarDecl a Source

Constructors

VarDecl a (Id a) (Maybe (Expression a)) 

Instances

Typeable1 VarDecl 
Eq a => Eq (VarDecl a) 
Data a => Data (VarDecl a) 
Ord a => Ord (VarDecl a) 
Show a => Show (VarDecl a) 

data JavaScript a Source

Constructors

Script a [Statement a]

A script in script ... /script tags. This may seem a little silly, but the Flapjax analogue has an inline variant and attribute-inline variant.

Instances

data Id a Source

Constructors

Id a String 

Instances

Typeable1 Id 
Eq a => Eq (Id a) 
Data a => Data (Id a) 
Ord a => Ord (Id a) 
Show a => Show (Id a) 

data Prop a Source

Constructors

PropId a (Id a) 
PropString a String 
PropNum a Integer 

Instances

Typeable1 Prop 
Eq a => Eq (Prop a) 
Data a => Data (Prop a) 
Ord a => Ord (Prop a) 
Show a => Show (Prop a) 

data ForInit a Source

Constructors

NoInit 
VarInit [VarDecl a] 
ExprInit (Expression a) 

Instances

Typeable1 ForInit 
Eq a => Eq (ForInit a) 
Data a => Data (ForInit a) 
Ord a => Ord (ForInit a) 
Show a => Show (ForInit a) 

data ForInInit a Source

Constructors

ForInVar (Id a) 
ForInNoVar (Id a) 

Instances

Typeable1 ForInInit 
Eq a => Eq (ForInInit a) 
Data a => Data (ForInInit a) 
Ord a => Ord (ForInInit a) 
Show a => Show (ForInInit a) 

data LValue a Source

Constructors

LVar a String 
LDot a (Expression a) String 
LBracket a (Expression a) (Expression a) 

Instances

Typeable1 LValue 
Eq a => Eq (LValue a) 
Data a => Data (LValue a) 
Ord a => Ord (LValue a) 
Show a => Show (LValue a)