ComplexLiteral (R-GReQL): Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
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)]]
ComplexLiteral stellt den komplexen Teil, d.h. Imaginärteil und imaginäre Einheit, einer komplexen Zahl dar. Der Knoten besitzt das Attribut '''value''', in dem beide (in Anführungszeichen) angegeben werden können. [[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]].
Zeile 8: Zeile 7:
<code>var2 <- <u>5+3i</u></code>
<code>var2 <- <u>5+3i</u></code>


<syntaxhighlight highlight="5,7,9" lang="xml">
<syntaxhighlight highlight="5,9,14" lang="xml">
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="iso-8859-1"?>
<rules>
<rules>
   <rule type="presence" points="100">
   <rule type="presence" points="100">
     <query>              
     <query>
       from lao1:V{LeftAssignmentOperator1}, var:V{Variable}, tr:V{BooleanLiteral}, lh:E{LeftHandSide}, rh:E{RightHandSide} with
       from lao1:V{LeftAssignmentOperator1}, var:V{Variable}, add:V{AddOperator}, num:V{NumericLiteral}, complx:V{ComplexLiteral}, lh:E{LeftHandSide}, rh:E{RightHandSide}, e1,e2:E{Expression} with
       lao1 -- lh -> var and
       lao1 -- lh -> var and
       lao1 -- rh -> tr and
       lao1 -- rh -> add and
       var.name="var1" and
      add -- e1 -> num and
       tr.value=true
      add -- e2 -> complx and
      e1.position = 0 and
      e2.position = 1 and
       var.name="var2" and
       num.value=5 and
      complx.value="3i"
       report 0 end
       report 0 end
    </query>
  </query>
    <feedback>
  <feedback>
       Leider nicht richtig!
       Leider nicht richtig!
    </feedback>
  </feedback>
   </rule>
   </rule>
</rules>
</rules>
</syntaxhighlight>
</syntaxhighlight>
[[Category:R-GReQL]]

Aktuelle Version vom 4. Dezember 2018, 16:15 Uhr

ComplexLiteral stellt den komplexen Teil, d.h. Imaginärteil und imaginäre Einheit, einer komplexen Zahl dar. Der Knoten besitzt das Attribut value, in dem beide (in Anführungszeichen) angegeben werden können.

Abfrage auf dem Syntaxgraphen (blau)

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}, add:V{AddOperator}, num:V{NumericLiteral}, complx:V{ComplexLiteral}, lh:E{LeftHandSide}, rh:E{RightHandSide}, e1,e2:E{Expression} with
      lao1 -- lh -> var and
      lao1 -- rh -> add and
      add -- e1 -> num and
      add -- e2 -> complx and
      e1.position = 0 and
      e2.position = 1 and
      var.name="var2" and
      num.value=5 and
      complx.value="3i"
      report 0 end
   </query>
   <feedback>
      Leider nicht richtig!
   </feedback>
  </rule>
</rules>