Product SiteDocumentation Site

Chapter 12. Grammar Summary

      PrimaryExpr ::=  -- everything so far --
        | ObjectConstructor
        | ArrayConstructor
      
      ObjectConstructor ::=  "{" ( PairConstructor ("," PairConstructor)* )? "}"
      
      PairConstructor ::=  ExprSingle ":" ExprSingle
      
      ArrayConstructor ::=  "[" Expr? "]"
      
      ExprSingle ::=  -- everything so far --
        | JSONDeleteExpr
        | JSONInsertExpr
        | JSONRenameExpr
        | JSONReplaceExpr
        | JSONAppendExpr
      
      JSONDeleteExpr ::= "delete" "json" PrimaryExpr ( "(" ExprSingle ")" )+
      
      JSONInsertExpr ::= "insert" "json" ExprSingle "into" ExprSingle
                         ("at" "position" ExprSingle)?
                       | "insert" "json" PairConstructor ("," Pair Constructor)*
                         "into" ExprSingle
      
      JSONRenameExpr ::= "rename" "json" PrimaryExpr  ( "(" ExprSingle ")" )+
                         "as" ExprSingle
      
      JSONReplaceExpr ::= "replace" "json" "value" "of"
                          PrimaryExpr ( "(" ExprSingle ")" )+
                          "with" ExprSingle
      
      JSONAppendExpr ::= "append" "json" ExprSingle "into" ExprSingle
      
      ItemType ::= -- everything so far --
        | JSONTest
        | StructuredItemTest

      JSONTest ::= 
          JSONItemTest
        | JSONObjectTest
        | JSONArrayTest

      StructuredItemTest ::= "structured-item" "(" ")"
      JSONItemTest ::= "json-item" "(" ")"
      JSONObjectTest ::= "object" "(" ")"
      JSONArrayTest ::= "array" "(" ")"