A FALSE programozási nyelv

Utasítások, vezérlési szerkezetek

Értékadás, üres utasítás

A nyelvben a : karakterrel lehet egy változónak értéket adni.

1a: jelentése: a:=1

Üres utasítás nincs a nyelvben.

Szekvencia

Az egész program egy műveletsorozat, amiben nincsennek megkülönböztetve/elkülönítve az egyes műveletek. Minden művelet lehet egysorban vagy akár mindegyik külön sorban is. A program eleje és vége nincs semmilyen speciális jellel megjelölve.

Elágazás

Az feltétel vizsgálatra a "?" jel szolgál.

a;1=["hello!"]? jelentése: if a=1 then print "hello!"
Itt az első argument egy logikai érték, míg a második egy eljárás, ami végrehajtódik, ha igaz a feltétel. A feltételnek nincs "else" ága, ezt a problémát úgy lehet kiküszöbölni, hogy egy második kiértékelésben pont az első feltételt tagadjuk.
a;1=$["true"]?~["false"]? jelentése: if a = 1 then print "true" else print "false"
Az első "?" után a végrehajtjuk az utasítást a kiértékelés szerint, majd a kiértékelés eredményét negálva a verem tetejére másoljuk, így a második kiértékelés már az else ágra hajtódik végre. Óvakodjunk attól a megoldástól, ahol az első feltételnek a vermen kell műveletet végrehajtani, hiszen így nem garantált a verem tetején lévő érték így megeshet, hogy egy if-else feltétel mind a két ága igaz lesz.

Ciklus

A ciklust a "#" jelel tudjuk megvalósítani, ami előtt két eljárást tudunk megadni, az elsőnek egy logikai értékkel kell visszatérni ez lesz a ciklusfeltétel, míg a második a ciklus törzse lesz.

[a;1=][2f;!]# jelentése: while a=1 do f(2)

Vezérlésátadó utasítások

A nyelv nem támogatja a vezérlésátadást.