Programovací jazyk FPL
FPL je vlastný programovací jazyk a kompiler inšpirovaný Lispom. Kompilácia funguje ako transpilace do C. Zďaleka nie je hotový a prekladač vyžaduje C kompiler.
Názov jazyka je akronymom Function Processing Language. S názvom nie som úplne spokojný, takže budem rád za návrhy.
FPL vs. Lisp
Ako názov napovedá, pôvodne som vychádzal z Lispe. Konečný výsledok je však rozdielny.
Syntaxe
Kód so všetkými syntaxe javy:
main { puts "Hello World!" #komentář (na více řádcích) some_func "string",$c #argumenty jsou dva výrazy (interpretované jako příkazový list) oddělené ARG_SEPARATOR math_func 1,0x0,1F,1D,var0 + var1 #funkce var0 s argumentem kterým je identifikátor +, který považuje za svůj argument var1 some_class:getInstanceSize # CLASS_SELECTOR jako argument způsobí volání statické metody getInstanceSize some_instance getObjectSize }
Podrobný rozbor syntaxe
Začnime komentármi. Jednoriadkový komentár začína hashtag
(#
). Viacriadkový je vymedzený jednoduchými zátvorkami
()
. Syntakticky sa kód rovnako ako v Lispe delia na
listy a atómy.
Identifikátor je neprerušený reťazec znakov, ktorý zároveň nespĺňa požiadavky pre iný druh atómu.
Znakový literál je rovnako ako u Smalltalk vo formáte
$ znak
.
Číslice sú riešené rovnako ako v ostatných jazykoch. Avšak aby bol
literal interpretovaný ako byte
alebo short
, musí
číslica končiť B
alebo S
. Koncové znaky (aj tie
aj long
a float
) musí byť veľkým písmenom.
Textové reťazce sú rovnaké ako v ostatných jazykoch.
Posledným sú takzvané špeciálne atómy. Ide o:
;
(v kóde vedený akoEND_ARGS
),,
(ARG_SEPARATOR
) a:
(CLASS_SELECTOR
).
V jazyku sú dva druhy listov:
- príkazový, ktorý je vymedzený začiatkom a koncom riadku.
- Druhým typom je blokový, ktorý je "prekvapivo" vymedzený zloženými zátvorkami.
Ak nie je spracovaný inak, je každý identifikátor a literal považovaný
za funkciu. To zahŕňa true
, false
, nil
aj premenné. Funkcia môže všetok kód, ktorý po nej nasleduje v príkazovom
liste, považovať za svoje argumenty. To umožňuje zostaviť väčšinu jazyka
z funkcií.
Preklad
Zdrojový kód sa v súčasnosti prekladá do C a potom
do spustiteľného súboru. Argumenty pre prekladač v súbore .jar
sú:
java -jar FPL.jar <sestavací soubor>
príklad zostavovacieho súboru (build.properties
):
outputFile = FPLC.exe cc = C:\\TDM-GCC-64\\bin\\gcc -w mainModule = compiler.main
Tento súbor sa musí nachádzať v priečinku projektu, kde je zároveň
zložka src/
, v ktorej je zdrojový kód. Argument -w
vypne u GCC varovanie, inak by dosť spamovali. Použitie iného kompileru
môže vyžadovať zmeny v štandardnej knižnici jazyka.
V súčasnej dobe je pre pridanie štandardné knižnice potrebné rozbaliť
súbor std.zip
(pozri. Prílohu) v zdrojovej zložke projektu.
Galéria
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 8x (71.98 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java