IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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ý ako END_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é 7x (71.98 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Všetky články v sekcii
Java - Pre pokročilých
Program pre vás napísal Richard H.
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování v Javě
Aktivity