Parser Syntax

Anweisungen

jede Anweisung muß in einer neuen Zeile stehen
  • axiom setzen
    axiom=F+F--F+F
  • Standartwinkel setzen
    gamma=20
  • Kommentarzeile
    #dies ist ein Kommentar
  • Define
    define Pi=3.414
    ordnet einer Variabeln einen Wert zu. Variabeln dürfen nur in den Regeln auftauchen. Nicht im Axiom!
  • Includefiles
    include testfile.lin
    bezieht eine XLinden Datei (zb Blatt) mit ein. Das in der Datei spezifizierte LSystem wird dann durch aufruf des dateinames eingebunden bsp: F->F+F-testfile.linFFX
  • Parserdurchläufe
    steps=30
    legt die anzahl der parserdurchlaufe fest wenn die Datei als Includefile eingebunden wird

    Beispiele für Regeln

  • Einfache Regel
    F->F+A
  • Stochastische Regeln
    F->40%F+F
    F->60%F-F
    Stochastische Regel. addieren sich die warscheinlichkeiten nicht zu 100% auf wird für den rest das zu ersetzende Zeichen so belassen wie es war.
  • Parametrisierte Regel.
    F(a)->F(a+3)+(a*10)
  • Parameterabhängige Regel.
    F(a,b):(a>2,b=a)->F(a,5)F(b*a+3.141,1)
  • Gemischte Regel
    F(a,b,c):(a<2,b=a)->10%F(b*a+3.141,1,c)
    F(a,b,c):(a<2,b=a)->90%+(a)F(a,b*2,c*a)
    F(a,b,c):(a>2)->!(a*c)X(a,b)

    Turtle Steuersymbole

    +,+(x)
    -,-(x)
    /,/(x)
    \,\(x)
    ^,^(x)
    &,&(x)
    $ rotatiert die schildkröte in horienzontale
    [,] Pusht/Popt den Turtlestatus
    {,} beginnt/beendet ein Polygon
    F,F(x) bewegt die Schildkröte um eins bzw. um x in die aktuelle Richtung und zeichnet dabei eine Linie
    f,f(x) bewegt die Schildkröte um eins bzw. um x in die aktuelle Richtung und zeichnet dabei keine Linie
    G,G(x) Bewegt die Schildkröte innerhalb eines Polygons um 1 bzw. umd x und erzeugt dabei eine Kante
    !(x) setzt den momentanen durchmesser auf x
    ?,?(x) erhöht die aktuelle Farbe um 1 oder setzt die auktuelle Farbe auf x


    Reservierte Zeichen und Woerter

    gamma
    axiom
    include
    steps
    define
    E