UNPKG

@flowscripter/mpeg-sdl-parser

Version:

ISO/IEC 14496-34 Syntactic Description Language (MPEG SDL) parser implemented in TypeScript

139 lines (130 loc) 3.45 kB
# With braces in clauses class A {if(i==1){i++;}else if(i==2){i--;}else{j++;}} ==> Specification( ClassDeclaration( class Whitespace Identifier Whitespace OpenBrace IfStatement( if OpenParenthesis BinaryExpression( UnaryExpression( Identifier ) RelationalEqual UnaryExpression( IntegerLiteral ) ) CloseParenthesis CompoundStatement( OpenBrace ExpressionStatement( UnaryExpression( UnaryExpression( Identifier ) PostfixIncrement ) Semicolon ) CloseBrace ) else Whitespace IfStatement( if OpenParenthesis BinaryExpression( UnaryExpression( Identifier ) RelationalEqual UnaryExpression( IntegerLiteral ) ) CloseParenthesis CompoundStatement( OpenBrace ExpressionStatement( UnaryExpression( UnaryExpression( Identifier ) PostfixDecrement ) Semicolon ) CloseBrace ) else CompoundStatement( OpenBrace ExpressionStatement( UnaryExpression( UnaryExpression( Identifier ) PostfixIncrement ) Semicolon ) CloseBrace ) ) ) CloseBrace ) ) # No braces and no else if clause class A {if(i==1)i++;else j++;} ==> Specification( ClassDeclaration( class Whitespace Identifier Whitespace OpenBrace IfStatement( if OpenParenthesis BinaryExpression( UnaryExpression( Identifier ) RelationalEqual UnaryExpression( IntegerLiteral ) ) CloseParenthesis ExpressionStatement( UnaryExpression( UnaryExpression( Identifier ) PostfixIncrement ) Semicolon ) else Whitespace ExpressionStatement( UnaryExpression( UnaryExpression( Identifier ) PostfixIncrement ) Semicolon ) ) CloseBrace ) )