language-ecmascript-0.19: JavaScript parser and pretty-printer library

Safe HaskellNone
LanguageHaskell2010

Language.ECMAScript3.Syntax.CodeGen

Contents

Description

Utility combinator functions for simplifying writing programmatic generation of ECMAScript code. Recommended to use together with the -XOverloadedStrings GHC extension.

Synopsis

Documentation

script :: Default a => [Statement a] -> JavaScript a Source #

ident :: Default a => String -> Id a Source #

propId :: Default a => Id a -> Prop a Source #

propS :: Default a => String -> Prop a Source #

propN :: Default a => Integer -> Prop a Source #

lvar :: Default a => String -> LValue a Source #

ldot :: Default a => Expression a -> String -> LValue a Source #

lbrack :: Default a => Expression a -> Expression a -> LValue a Source #

string :: Default a => String -> Expression a Source #

regexp :: Default a => String -> Bool -> Bool -> Expression a Source #

number :: Default a => Double -> Expression a Source #

bool :: Default a => Bool -> Expression a Source #

int :: Default a => Int -> Expression a Source #

null_ :: Default a => Expression a Source #

array :: Default a => [Expression a] -> Expression a Source #

object :: Default a => [(Prop a, Expression a)] -> Expression a Source #

this :: Default a => Expression a Source #

var :: Default a => Id a -> Expression a Source #

dot :: Default a => Expression a -> Id a -> Expression a Source #

brack :: Default a => Expression a -> Expression a -> Expression a Source #

new :: Default a => Expression a -> [Expression a] -> Expression a Source #

prefix :: Default a => PrefixOp -> Expression a -> Expression a Source #

lnot :: Default a => Expression a -> Expression a Source #

bnot :: Default a => Expression a -> Expression a Source #

plus :: Default a => Expression a -> Expression a Source #

minus :: Default a => Expression a -> Expression a Source #

typeof :: Default a => Expression a -> Expression a Source #

void :: Default a => Expression a -> Expression a Source #

delete :: Default a => Expression a -> Expression a Source #

uassign :: Default a => UnaryAssignOp -> LValue a -> Expression a Source #

preinc :: Default a => LValue a -> Expression a Source #

predec :: Default a => LValue a -> Expression a Source #

postinc :: Default a => LValue a -> Expression a Source #

postdec :: Default a => LValue a -> Expression a Source #

infixe :: Default a => InfixOp -> Expression a -> Expression a -> Expression a Source #

lt :: Default a => Expression a -> Expression a -> Expression a Source #

le :: Default a => Expression a -> Expression a -> Expression a Source #

gt :: Default a => Expression a -> Expression a -> Expression a Source #

ge :: Default a => Expression a -> Expression a -> Expression a Source #

in_ :: Default a => Expression a -> Expression a -> Expression a Source #

instanceof :: Default a => Expression a -> Expression a -> Expression a Source #

eq :: Default a => Expression a -> Expression a -> Expression a Source #

neq :: Default a => Expression a -> Expression a -> Expression a Source #

steq :: Default a => Expression a -> Expression a -> Expression a Source #

stneq :: Default a => Expression a -> Expression a -> Expression a Source #

land :: Default a => Expression a -> Expression a -> Expression a Source #

lor :: Default a => Expression a -> Expression a -> Expression a Source #

mul :: Default a => Expression a -> Expression a -> Expression a Source #

div :: Default a => Expression a -> Expression a -> Expression a Source #

mod :: Default a => Expression a -> Expression a -> Expression a Source #

sub :: Default a => Expression a -> Expression a -> Expression a Source #

lshift :: Default a => Expression a -> Expression a -> Expression a Source #

srshift :: Default a => Expression a -> Expression a -> Expression a Source #

zrshift :: Default a => Expression a -> Expression a -> Expression a Source #

band :: Default a => Expression a -> Expression a -> Expression a Source #

bor :: Default a => Expression a -> Expression a -> Expression a Source #

xor :: Default a => Expression a -> Expression a -> Expression a Source #

add :: Default a => Expression a -> Expression a -> Expression a Source #

cond :: Default a => Expression a -> Expression a -> Expression a -> Expression a Source #

assignop :: Default a => AssignOp -> LValue a -> Expression a -> Expression a Source #

assign :: Default a => LValue a -> Expression a -> Expression a Source #

assignadd :: Default a => LValue a -> Expression a -> Expression a Source #

assignsub :: Default a => LValue a -> Expression a -> Expression a Source #

assignmul :: Default a => LValue a -> Expression a -> Expression a Source #

assigndiv :: Default a => LValue a -> Expression a -> Expression a Source #

assignmod :: Default a => LValue a -> Expression a -> Expression a Source #

assignlshift :: Default a => LValue a -> Expression a -> Expression a Source #

assignsrshift :: Default a => LValue a -> Expression a -> Expression a Source #

assignzrshift :: Default a => LValue a -> Expression a -> Expression a Source #

assignband :: Default a => LValue a -> Expression a -> Expression a Source #

assignxor :: Default a => LValue a -> Expression a -> Expression a Source #

assignbor :: Default a => LValue a -> Expression a -> Expression a Source #

list :: Default a => [Expression a] -> Expression a Source #

call :: Default a => Expression a -> [Expression a] -> Expression a Source #

func :: Default a => Id a -> [Id a] -> [Statement a] -> Expression a Source #

lambda :: Default a => [Id a] -> [Statement a] -> Expression a Source #

casee :: Default a => Expression a -> [Statement a] -> CaseClause a Source #

defaultc :: Default a => [Statement a] -> CaseClause a Source #

catch :: Default a => Id a -> Statement a -> CatchClause a Source #

vardecl :: Default a => Id a -> VarDecl a Source #

varinit :: Default a => Id a -> Expression a -> VarDecl a Source #

block :: Default a => [Statement a] -> Statement a Source #

empty :: Default a => Statement a Source #

expr :: Default a => Expression a -> Statement a Source #

ifte :: Default a => Expression a -> Statement a -> Statement a -> Statement a Source #

ift :: Default a => Expression a -> Statement a -> Statement a Source #

switch :: Default a => Expression a -> [CaseClause a] -> Statement a Source #

while :: Default a => Expression a -> Statement a -> Statement a Source #

dowhile :: Default a => Statement a -> Expression a -> Statement a Source #

break :: Default a => Maybe (Id a) -> Statement a Source #

continue :: Default a => Maybe (Id a) -> Statement a Source #

label :: Default a => Id a -> Statement a -> Statement a Source #

forin :: Default a => ForInInit a -> Expression a -> Statement a -> Statement a Source #

for :: Default a => ForInit a -> Maybe (Expression a) -> Maybe (Expression a) -> Statement a -> Statement a Source #

try :: Default a => Statement a -> Statement a Source #

trycatch :: Default a => Statement a -> CatchClause a -> Maybe (Statement a) -> Statement a Source #

tryfinally :: Default a => Statement a -> Statement a -> Statement a Source #

throw :: Default a => Expression a -> Statement a Source #

returns :: Default a => Expression a -> Statement a Source #

ret :: Default a => Statement a Source #

with :: Default a => Expression a -> Statement a -> Statement a Source #

vardecls :: Default a => [VarDecl a] -> Statement a Source #

function :: Default a => Id a -> [Id a] -> [Statement a] -> Statement a Source #

id2string :: Id a -> Expression a Source #

Convert an identifier to a String literal

lv2e :: LValue a -> Expression a Source #

Helper function to convert LValues to expressions

e2lv :: Expression a -> LValue a Source #

Convert an expression to an l-value. May fail with an error

Orphan instances

Default a => IsString (Expression a) Source # 
Instance details

Methods

fromString :: String -> Expression a

Default a => IsString (LValue a) Source # 
Instance details

Methods

fromString :: String -> LValue a

Default a => IsString (Prop a) Source # 
Instance details

Methods

fromString :: String -> Prop a

Default a => IsString (Id a) Source # 
Instance details

Methods

fromString :: String -> Id a