anchor.diff:  eos
       : SemiColon
       | EOF
  -    | {this.lineTerminatorAhead()}?
  -    | {this.closeBrace()}?
  -    ;
  +    | {this.lineTerminatorAhead()}? // TODO: Uncomment this
  +    //| {this.closeBrace()}?
  +    ;
  
positive.code:     ;
  
  elementList
      : arrayElement (','+ arrayElement)*
      ;
  
  arrayElement
      : singleExpression
      | singleExpression '=>' singleExpression
      ;
  
  objectLiteral
      : varModifier? '%[' (propertyAssignment (',' propertyAssignment)*)? ','? ']'
      ;
  
  propertyAssignment
      : propertyName (':' |'=' | '=>' | ',') singleExpression # PropertyExpressionAssignment  // {a:b,c:d} in TJS can be write like %[a,b,c,d], weird right?
      | singleExpression '=>' singleExpression                # InPropertyCall                // another weird behavior, need investigate
      ;
  
  propertyName
  
negative.code:     ;
  
  caseClause
      : Case expressionSequence ':' statement*
      ;
  
  defaultClause
      : Default ':' statement*
      ;
  
  throwStatement
  