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
