R-GReQL-Grammatik

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Knoten

In dieser Grammatik sind abstrakte Knoten enthalten. Diese sind nicht instanziierbar und sowohl durch einen Kommentar, als auch durch kursiven Titel kenntlich gemacht.

  1. Context
    1. Prog
      1. ParameterList
      2. AnonParameterList
      3. IndexList
      4. DoubleIndexList
      5. Indexing
  2. UnaryExpression
    1. Negative
    2. Positive
  3. Element
    1. Literal
      1. BooleanLiteral
      2. ComplexLiteral
      3. IntegerLiteral
      4. NumericLiteral
      5. StringLiteral
      6. NullLiteral
    2. ID
      1. FunctionCall
      2. Variable
    3. Operator
      1. ArithmeticOperator
        1. AddOperator
        2. SubOperator
        3. MulOperator
        4. DivOperator
        5. ExpOperator
        6. RemainderOperator
        7. FloorOperator
      2. RelationalOperator
        1. GreaterOperator
        2. LesserOperator
        3. GreaterEqOperator
        4. LesserEqOperator
        5. EqualOperator
        6. UnequalOperator
        7. InOperator
      3. LogicalOperator
        1. AndOperator
        2. OrOperator
        3. NotOperator
        4. AndOperatorFirstElement
        5. OrOperatorFirstElement
      4. AssignmentOperator
        1. LeftAssignmentOperator
          1. LeftAssignmentOperator1
          2. LeftAssignmentOperator2
          3. LeftAssignmentOperator3
          4. LeftAssignmentOperator4
        2. RightAssignmentOperator
          1. RightAssignmentOperator1
          2. RightAssignmentOperator2
      5. MiscOperator
        1. SequenceOperator
        2. MatrixMulOperator
        3. TildeOperator
    4. Statement
      1. Block
      2. IfStatement
      3. SwitchStatement
      4. Loop
        1. WhileStatement
        2. RepeatStatement
        3. ForStatement
      5. BreakStatement
      6. NextStatement
      7. Unsortiert
        1. AnonFunctionDeclaration
        2. NamedElement
        3. FunctionDeclaration
        4. ReturnStatement

Kanten

  1. AssignmentOperator
    1. LeftHandSide
    2. RightHandSide
  2. Block
    1. BodyStatements
  3. ForStatement
    1. CountVariable
    2. Set
    3. SetVariable
  4. FunctionCall
    1. List
  5. IfStatement
    1. Condition
    2. ElseBody
    3. ThenBody
  6. Node
    1. Expression
  7. ParameterList
    1. Parameter
  8. Prog
    1. ProgStatements
  9. Statement
    1. StatementBody