ComplexLiteral (R-GReQL): Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
ComplexLiteral stellt eine komplexe Zahl dar. Der Knoten besitzt ein Attribut "value", in dem der Wert gespeichert ist. Der Knoten wird in der Abbildung in blau dargestellt. [[Datei:5Literals.png|mini|<code>var1 <- true; var2 <- 5 + 3i; var3 <- 10L</code>]]
ComplexLiteral stellt den Imaginärteil einer komplexen Zahl dar. Der Knoten besitzt ein Attribut "value", in dem der Wert gespeichert ist. [[Datei:5Literals.png|mini|Abfrage auf dem Syntaxgraphen (blau)]]
Bei der Verwendung ist zu beachten, dass bisher ausschließlich die expliziten Abfragen <code>TRUE</code> und <code>FALSE</code> möglich sind. <code>T</code> und <code>F</code> funktionieren damit aktuell noch nicht.


Der Knoten ist Teil der [[R-GReQL-Grammatik|GReQL-Grammatik]] für den [[StaticRChecker]].
Der Knoten ist Teil der [[R-GReQL-Grammatik|GReQL-Grammatik]] für den [[StaticRChecker]].


= Beispiel =
=== Beispiel ===


<code>var <- <u>3i</u></code>
<code>var2 <- <u>5+3i</u></code>


<code>var <- 3 + <u>5i</u></code>
<syntaxhighlight highlight="5,7,9" lang="xml">
<?xml version="1.0" encoding="iso-8859-1"?>
<rules>
  <rule type="presence" points="100">
    <query>               
      from lao1:V{LeftAssignmentOperator1}, var:V{Variable}, tr:V{BooleanLiteral}, lh:E{LeftHandSide}, rh:E{RightHandSide} with
      lao1 -- lh -> var and
      lao1 -- rh -> tr and
      var.name="var1" and
      tr.value=true
      report 0 end
    </query>
    <feedback>
      Leider nicht richtig!
    </feedback>
  </rule>
</rules>
</syntaxhighlight>

Version vom 24. Juni 2017, 03:15 Uhr

ComplexLiteral stellt den Imaginärteil einer komplexen Zahl dar. Der Knoten besitzt ein Attribut "value", in dem der Wert gespeichert ist.

Abfrage auf dem Syntaxgraphen (blau)

Bei der Verwendung ist zu beachten, dass bisher ausschließlich die expliziten Abfragen TRUE und FALSE möglich sind. T und F funktionieren damit aktuell noch nicht.

Der Knoten ist Teil der GReQL-Grammatik für den StaticRChecker.

Beispiel

var2 <- 5+3i

<?xml version="1.0" encoding="iso-8859-1"?>
<rules>
  <rule type="presence" points="100">
    <query>                
      from lao1:V{LeftAssignmentOperator1}, var:V{Variable}, tr:V{BooleanLiteral}, lh:E{LeftHandSide}, rh:E{RightHandSide} with
      lao1 -- lh -> var and
      lao1 -- rh -> tr and
      var.name="var1" and
      tr.value=true
      report 0 end
    </query>
    <feedback>
      Leider nicht richtig!
    </feedback>
  </rule>
</rules>