R-GReQL-Grammatik: Unterschied zwischen den Versionen
Zeile 45: | Zeile 45: | ||
<code>var <- +5</code> | <code>var <- +5</code> | ||
== Element == | == ''Element'' == | ||
Ist ein abstrakter Knoten. | |||
=== Literal === | === ''Literal'' === | ||
Ist ein abstrakter Knoten. Die folgenden Literale besitzen jeweils das Attribut "''value''", in dem der Wert abgespeichert wird. | |||
==== BooleanLiteral ==== | ==== BooleanLiteral ==== | ||
Stellt den boolischen Wert ''TRUE'' bzw. ''FALSE'' dar. | |||
==== ComplexLiteral ==== | ==== ComplexLiteral ==== | ||
Stellt eine komplexe Zahl, z.B. ''3i'', dar. | |||
==== IntegerLiteral ==== | ==== IntegerLiteral ==== | ||
Stellt einen Integerwert, z.B. ''10L'', dar. | |||
==== NumericLiteral ==== | ==== NumericLiteral ==== | ||
Stellt eine Gleitkommazahl, z.B. ''12.45'', dar. | |||
==== StringLiteral ==== | ==== StringLiteral ==== | ||
Stellt eine Zeichenkette, z.B. ''"Hello World!" oder '' 'Hello World!' '' | |||
==== NullLiteral ==== | ==== NullLiteral ==== | ||
Version vom 12. Juni 2017, 14:14 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
Prog stellt den Wurzelknoten jeder R-Datei dar. (blau)
ParameterList
Ist der Wurzelknoten für Parameter einer aufgerufenen Funktion. (rot)
AnonParameterList
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
Ist der "+"-Operator vor einer Zahl, Variable oder Expression, z.B.
var <- +5
Element
Ist ein abstrakter Knoten.
Literal
Ist ein abstrakter Knoten. Die folgenden Literale besitzen jeweils das Attribut "value", in dem der Wert abgespeichert wird.
BooleanLiteral
Stellt den boolischen Wert TRUE bzw. FALSE dar.
ComplexLiteral
Stellt eine komplexe Zahl, z.B. 3i, dar.
IntegerLiteral
Stellt einen Integerwert, z.B. 10L, dar.
NumericLiteral
Stellt eine Gleitkommazahl, z.B. 12.45, dar.
StringLiteral
Stellt eine Zeichenkette, z.B. "Hello World!" oder 'Hello World!'