File size: 1,254 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# No semicolons
x
if (a) {
var b = c
d
} else
e
==>
Script(
ExpressionStatement(VariableName),
IfStatement(if,ParenthesizedExpression(VariableName),Block(
VariableDeclaration(var,VariableDefinition,Equals,VariableName),
ExpressionStatement(VariableName)),
else,ExpressionStatement(VariableName)))
# Continued expressions on new line
x
+ 2
foo
(bar)
==>
Script(
ExpressionStatement(BinaryExpression(VariableName,ArithOp,Number)),
ExpressionStatement(CallExpression(VariableName,ArgList(VariableName))))
# Doesn't parse postfix ops on a new line
x
++y
==>
Script(
ExpressionStatement(VariableName),
ExpressionStatement(UnaryExpression(ArithOp,VariableName)))
# Eagerly cut return/break/continue
return 2
return
2
continue foo
continue
foo
break bar
break
bar
==>
Script(
ReturnStatement(return,Number),
ReturnStatement(return),
ExpressionStatement(Number),
ContinueStatement(continue,Label),
ContinueStatement(continue),
ExpressionStatement(VariableName),
BreakStatement(break,Label),
BreakStatement(break),
ExpressionStatement(VariableName))
# Cut return regardless of whitespace
{ return }
return // foo
;
==>
Script(Block(ReturnStatement(return)),ReturnStatement(return,LineComment))
|