Slide 27
Slide 27 text
Spidermonkey AST Example
ariya/esprima input:
{ block: statement }
ariya/esprima output:
{ type: 'Program',
body:
[ { type: 'BlockStatement',
body:
[ { type: 'LabeledStatement',
label:
{ type: 'Identifier',
name: 'block' },
body:
{ type:
'ExpressionStatement',
expression:
{ type: 'Identifier',
name: 'statement' }
}
} ]
} ]
}
ariya/esprima input:
({object: expression})
ariya/esprima output:
{ type: 'Program',
body:
[ { type: 'ExpressionStatement',
expression:
{ type: 'ObjectExpression',
properties:
[ { type: 'Property',
key:
{ type: 'Identifier',
name: 'object' },
value:
{ type: 'Identifier',
name: 'expression' },
kind: 'init'
} ]
}
} ]
}