R-GReQL-Grammatik: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Zeile 36: Zeile 36:


=== Negative ===
=== Negative ===
Ist der "-"-Operator vor einer Zahl, Variable oder Expression, z.B.
<code>var <- -(x + -3)</code>


=== Positive ===
=== Positive ===

Version vom 12. Juni 2017, 14:08 Uhr

Knoten

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

Context

Prog

x <- c(5,6)

Prog stellt den Wurzelknoten jeder R-Datei dar. (blau)

ParameterList

Ist der Wurzelknoten für Parameter einer aufgerufenen Funktion. (rot)

AnonParameterList

var <- (function (x) x + 3) (10)

Ist die Parameter-Liste, die bei einer anonymen Funktion verwendet wird, z.B.

var <- (function (x) x + 3)(10)

IndexList

Ist der Oberknoten der Liste der verwendeteten Indizes durch Angabe einer eckigen Klammer, z.B.

y <- array[1]

DoubleIndexList

Ist der Oberknoten der Liste der verwendeteten Indizes durch Angabe von zwei eckigen Klammern, z.B.

z <- otherarray2

Indexing

Ist ein Zwischenknoten für die Indexierung (IndexList, DoubleIndexList)

UnaryExpression

Ist ein abstrakter Knoten.

Negative

Ist der "-"-Operator vor einer Zahl, Variable oder Expression, z.B.

var <- -(x + -3)

Positive

Element

Literal

BooleanLiteral

ComplexLiteral

IntegerLiteral

NumericLiteral

StringLiteral

NullLiteral

ID

FunctionCall

Variable

Operator

ArithmeticOperator

AddOperator
SubOperator
MulOperator
DivOperator
ExpOperator
RemainderOperator
FloorOperator

RelationalOperator

GreaterOperator
LesserOperator
GreaterEqOperator
LesserEqOperator
EqualOperator
UnequalOperator
InOperator

LogicalOperator

AndOperator
OrOperator
NotOperator
AndOperatorFirstElement
OrOperatorFirstElement

AssignmentOperator

LeftAssignmentOperator
LeftAssignmentOperator1
LeftAssignmentOperator2
LeftAssignmentOperator3
LeftAssignmentOperator4
RightAssignmentOperator
RightAssignmentOperator1
RightAssignmentOperator2

MiscOperator

SequenceOperator
ContainsOperator
MatrixMulOperator
TildeOperator

Statement

Block

IfStatement

SwitchStatement

Loop

WhileStatement
RepeatStatement
ForStatement

BreakStatement

NextStatement

Unsortiert

AnonFunctionDeclaration
NamedElement
FunctionDeclaration
ReturnStatement

Kanten

AssignmentOperator

LeftHandSide

RightHandSide

Block

BodyStatements

ForStatement

CountVariable

Set

SetVariable

FunctionCall

List

IfStatement

Condition

ElseBody

ThenBody

Node

Expression

ParameterList

Parameter

Prog

ProgStatements

Statement

StatementBody