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 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