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