The Open Protocol Notation Programming Guide 1 Document Version 1 (4/23/2018)



Download 1.37 Mb.
Page15/24
Date23.04.2018
Size1.37 Mb.
#46651
1   ...   11   12   13   14   15   16   17   18   ...   24

Productions

  1. Alternation Productions


Production ::= Production[1] | Production
      1. Sequencing Productions


Production[1] ::= Production[2] Production[1]
      1. Capture Productions


Production[2] ::= Identifier : Production[3]
      1. Quantifier Productions


Production[3] ::= Production[4] *

Production[3] ::= Production[4] +

Production[3] ::= Production[4] ?
      1. Transformation Productions


Production[4] ::= => Expression
      1. Semantic Condition Productions


Production[4] ::= [| Expression|]
      1. Parenthesize Productions


Production[4] ::= ( Production )
      1. Pattern Reference Productions


Production[4] ::= ReferencePattern TypeArguments

Production[4] ::= ReferencePattern from Reference
      1. Literal Productions


Production[4] ::= StringLiteral

Production[4] ::= regex BlockLiteral

Production[4] ::= BinaryLiteral
    1. Scenarios

      1. Combination


TopScenario ::= BacktrackScenario

TopScenario ::= TopScenario |> TopScenario[0]

TopScenario[0] ::= ( TopScenario )
      1. Backtracking


BacktrackScenario ::= Scenario

BacktrackScenario ::= backtrack (Pattern) Scenario
      1. Alternation


Scenario[0] ::= Scenario[0] ( | | or ) Scenario[1]

Scenario[1] ::= Scenario[1] ( || | fork ) Scenario[2]
      1. Sequencing


Scenario[2] ::= Scenario[2] (next)? Scenario[3]

Scenario[3] ::= Scenario[3] ( -> | later ) Scenario[4]

Scenario[4] ::= Scenario[4] ( & | permute ) Scenario[5]
      1. Quantifying


Scenario[5] ::= Scenario[6] ( * | repeat ) Range?

Scenario[5] ::= Scenario[6] +

Scenario[5] ::= Scenario[6] interleave UnboundedRange? (until Scenario)?

Scenario[5] ::= Scenario[6] interleave BoundedRange

Range ::= BoundedRange | UnboundedRange

BoundedRange ::= [Expression ,Expression] | [,Expression]

UnboundedRange ::=[Expression ,]

Scenario[5] ::= Scenario[6] ( ? | optional )
      1. Semantic Condition


Scenario[6] ::= [| Expression |]
      1. Drop


Scenario[6] ::= drop(Scenario)
      1. Parenthesis


Scenario[6] ::= ( Scenario )
      1. Negation


Scenario[6] ::= (! | not) Scenario[6]
      1. Terminals


Scenario[6] ::= \\ ? (issues | accepts)? ReferencePattern FieldPatterns? ( (\ |\\ ) (issues | accepts)?ReferencePattern FieldPatterns? )*

Scenario[6] ::= _

Scenario[6] ::= QualifiedIdentifier ScenarioTypeArguments?

ScenarioTypeArguments ::= [ ( ScenarioTypeArgument ( , ScenarioTypeArgument )* )? ]

ScenarioTypeArgument ::= Expression | ScenarioParameter

ScenarioParameter ::= out ( var | PrimaryPattern ) Identifier Constraint? Aspects?


    1. Download 1.37 Mb.

      Share with your friends:
1   ...   11   12   13   14   15   16   17   18   ...   24




The database is protected by copyright ©ininet.org 2024
send message

    Main page