diff --git a/docs/docs/asx.md b/docs/docs/asx.md new file mode 100644 index 0000000..04263d8 --- /dev/null +++ b/docs/docs/asx.md @@ -0,0 +1,108 @@ +--- +sidebar_position: 5 +description: Az ASX fájl leírása +--- + +# ASX (Astro Lang Executable) fájl + +--- + +:::info + +ASX Verzió: `0.2.0` + +::: + +:::info + +Ezt megtudod nézni a `ASL viewx ` parancs használatával. + +::: + +## Fájl felépítése: +|Név|Leírás|Méret| +|---|---|---| +|Doctype: ASX|Elmondja a fájlról, hogy tényleg ASX.|3 bytes| +|Verzió|Elmondja a fájl ASX verzióját. (byte.byte.byte)|3 bytes| +|Funkciók száma|Elmondja, hogy mennyi funkció van a fájlban.|4 bytes| +|Funkciók|Lásd: [Funkciók](#funkciók)|| + +## Funkciók: +|Név|Leírás|Méret| +|---|---|---| +|Változók száma|Elmondja, hogy a funkcióban mennyi változó van.|4 bytes| +|Változók|Lásd: [Változók](#változók)|| +|Szövegek száma|Elmondja, hogy a funkcióban mennyi szöveg van.|4 bytes| +|Szövegek|Lásd: [Szövegek](#szövegek)|| +|Funkciók száma|Elmondja, hogy a funkcióban mennyi funkció meghívás van.|4 bytes| +|Funkciók|Lásd: [Funkció meghívások](#funkció-meghívások)|| +|Instukciók|Lásd: [Instrukciók](#instrukciók)|| + +## Változók: +|Név|Méret| +|---|---| +|Változó nevének hossza|4 bytes| +|Változó neve|| +|Változó ID-je|3 bytes| +|Változó kezdő ponja|4 bytes| +|Változó végpontja|4 bytes| + +## Szövegek: +|Név|Méret| +|---|---| +|Szöveg ID-je|3 bytes| +|A szöveg hossza|4 bytes| +|A szöveg|| + +## Funkció meghívások: +|Név|Méret| +|---|---| +|A meghívás ID-je|3 bytes| +|A meghívott funkció pozíciója|4 bytes| + +## Instrukciók: +:::info + +Minden instrukció végére hozzáadunk még 3 bit-et, így összesen 10 byte-ba belefér minden instrukció. + +::: +|OP Code - 5 bits|Rövid név|Leírás|Arg1 - 4 bits|Arg2 - 64 bits|Arg3 - 4 bits| +|---|---|---|---|---|---| +|0|HLT|Befejezi a program futtatását|||| +|1|LDS|Betölt egy szöveget a regiszterbe|R(A)|Szöveg ID|| +|2|LDM|Betölti a változót a memóriából|R(A)|Változó ID|| +|3|LDI|Betölt egy számot a regiszterbe|R(A)|Szám|| +|4|LDB|Betölt egy logikai értéket a regiszterbe|R(A)|Logikai érték|| +|5|LDF|Betölt egy funkciót a regiszterbe|R(A)|Funkció ID|| +|6|LDN|Betölt egy null-t/táblát a regiszterbe|R(A)|Ez egy tábla?|| +|7|ASS|Hozzáad egy változó ID-t a regiszerhez|R(A)|Változó ID|| +|8|UNB|Leválaszja a regiszterről a változót|R(A)||| +|9|MOV|Átmásolja R(A) pointerjét R(B)-be|R(A)|R(B)|| +|10|ADD|`R(C) = R(A) + R(B)`|R(A)|R(B)|R(C)| +|11|SUB|`R(C) = R(A) - R(B)`|R(A)|R(B)|R(C)| +|12|MUL|`R(C) = R(A) * R(B)`|R(A)|R(B)|R(C)| +|13|DIV|`R(C) = R(A) / R(B)`|R(A)|R(B)|R(C)| +|14|POW|`R(C) = R(A) ^ R(B)`|R(A)|R(B)|R(C)| +|15|MOD|`R(C) = R(A) % R(B)`|R(A)|R(B)|R(C)| +|16|AND|`R(C) = R(A) && R(B)`|R(A)|R(B)|R(C)| +|17|OR|`R(C) = R(A) \|\| R(B)`|R(A)|R(B)|R(C)| +|18|EQ|`R(C) = R(A) == R(B)`|R(A)|R(B)|R(C)| +|19|NEQ|`R(C) = R(A) != R(B)`|R(A)|R(B)|R(C)| +|20|GRE|`R(C) = R(A) > R(B)`|R(A)|R(B)|R(C)| +|21|GRQ|`R(C) = R(A) >= R(B)`|R(A)|R(B)|R(C)| +|22|LES|`R(C) = R(A) < R(B)`|R(A)|R(B)|R(C)| +|23|LEQ|`R(C) = R(A) <= R(B)`|R(A)|R(B)|R(C)| +|24|NOT|`R(B) = !R(A)`|R(A)|R(B)|| +|25|JMP|Oda ugrik a kódban||Hely|| +|26|CJP|Oda ugrik a kódban, ha a regiszter igaz|R(A)|Hely|| +|27|CAL|Meghív egy funkciót, majd a kimenetet elmenti R(B)-be|R(A)|R(B)|| +|28|PSH|Egy értéket belerak a következő funkció bemeneteihez|R(A)||| +|29|RET|Visszad egy értéket|R(A)||| +|30|GET|Lekér egy értéket a táblából `R(C) = R(A)[R(B)]`|R(A)|R(B)|R(C)| +|31|SET|Beállít egy értéket a táblának `R(A)[R(B)] = R(C)`|R(A)|R(B)|R(C)| + +:::tip + +Ha az ENV-ből szeretnénk lekérni valamit akkor a `GET`-et kell használni, úgy, hogy `R(A) = 0`! + +::: \ No newline at end of file diff --git a/docs/versioned_docs/version-0.2.0/asx.md b/docs/versioned_docs/version-0.2.0/asx.md new file mode 100644 index 0000000..04263d8 --- /dev/null +++ b/docs/versioned_docs/version-0.2.0/asx.md @@ -0,0 +1,108 @@ +--- +sidebar_position: 5 +description: Az ASX fájl leírása +--- + +# ASX (Astro Lang Executable) fájl + +--- + +:::info + +ASX Verzió: `0.2.0` + +::: + +:::info + +Ezt megtudod nézni a `ASL viewx ` parancs használatával. + +::: + +## Fájl felépítése: +|Név|Leírás|Méret| +|---|---|---| +|Doctype: ASX|Elmondja a fájlról, hogy tényleg ASX.|3 bytes| +|Verzió|Elmondja a fájl ASX verzióját. (byte.byte.byte)|3 bytes| +|Funkciók száma|Elmondja, hogy mennyi funkció van a fájlban.|4 bytes| +|Funkciók|Lásd: [Funkciók](#funkciók)|| + +## Funkciók: +|Név|Leírás|Méret| +|---|---|---| +|Változók száma|Elmondja, hogy a funkcióban mennyi változó van.|4 bytes| +|Változók|Lásd: [Változók](#változók)|| +|Szövegek száma|Elmondja, hogy a funkcióban mennyi szöveg van.|4 bytes| +|Szövegek|Lásd: [Szövegek](#szövegek)|| +|Funkciók száma|Elmondja, hogy a funkcióban mennyi funkció meghívás van.|4 bytes| +|Funkciók|Lásd: [Funkció meghívások](#funkció-meghívások)|| +|Instukciók|Lásd: [Instrukciók](#instrukciók)|| + +## Változók: +|Név|Méret| +|---|---| +|Változó nevének hossza|4 bytes| +|Változó neve|| +|Változó ID-je|3 bytes| +|Változó kezdő ponja|4 bytes| +|Változó végpontja|4 bytes| + +## Szövegek: +|Név|Méret| +|---|---| +|Szöveg ID-je|3 bytes| +|A szöveg hossza|4 bytes| +|A szöveg|| + +## Funkció meghívások: +|Név|Méret| +|---|---| +|A meghívás ID-je|3 bytes| +|A meghívott funkció pozíciója|4 bytes| + +## Instrukciók: +:::info + +Minden instrukció végére hozzáadunk még 3 bit-et, így összesen 10 byte-ba belefér minden instrukció. + +::: +|OP Code - 5 bits|Rövid név|Leírás|Arg1 - 4 bits|Arg2 - 64 bits|Arg3 - 4 bits| +|---|---|---|---|---|---| +|0|HLT|Befejezi a program futtatását|||| +|1|LDS|Betölt egy szöveget a regiszterbe|R(A)|Szöveg ID|| +|2|LDM|Betölti a változót a memóriából|R(A)|Változó ID|| +|3|LDI|Betölt egy számot a regiszterbe|R(A)|Szám|| +|4|LDB|Betölt egy logikai értéket a regiszterbe|R(A)|Logikai érték|| +|5|LDF|Betölt egy funkciót a regiszterbe|R(A)|Funkció ID|| +|6|LDN|Betölt egy null-t/táblát a regiszterbe|R(A)|Ez egy tábla?|| +|7|ASS|Hozzáad egy változó ID-t a regiszerhez|R(A)|Változó ID|| +|8|UNB|Leválaszja a regiszterről a változót|R(A)||| +|9|MOV|Átmásolja R(A) pointerjét R(B)-be|R(A)|R(B)|| +|10|ADD|`R(C) = R(A) + R(B)`|R(A)|R(B)|R(C)| +|11|SUB|`R(C) = R(A) - R(B)`|R(A)|R(B)|R(C)| +|12|MUL|`R(C) = R(A) * R(B)`|R(A)|R(B)|R(C)| +|13|DIV|`R(C) = R(A) / R(B)`|R(A)|R(B)|R(C)| +|14|POW|`R(C) = R(A) ^ R(B)`|R(A)|R(B)|R(C)| +|15|MOD|`R(C) = R(A) % R(B)`|R(A)|R(B)|R(C)| +|16|AND|`R(C) = R(A) && R(B)`|R(A)|R(B)|R(C)| +|17|OR|`R(C) = R(A) \|\| R(B)`|R(A)|R(B)|R(C)| +|18|EQ|`R(C) = R(A) == R(B)`|R(A)|R(B)|R(C)| +|19|NEQ|`R(C) = R(A) != R(B)`|R(A)|R(B)|R(C)| +|20|GRE|`R(C) = R(A) > R(B)`|R(A)|R(B)|R(C)| +|21|GRQ|`R(C) = R(A) >= R(B)`|R(A)|R(B)|R(C)| +|22|LES|`R(C) = R(A) < R(B)`|R(A)|R(B)|R(C)| +|23|LEQ|`R(C) = R(A) <= R(B)`|R(A)|R(B)|R(C)| +|24|NOT|`R(B) = !R(A)`|R(A)|R(B)|| +|25|JMP|Oda ugrik a kódban||Hely|| +|26|CJP|Oda ugrik a kódban, ha a regiszter igaz|R(A)|Hely|| +|27|CAL|Meghív egy funkciót, majd a kimenetet elmenti R(B)-be|R(A)|R(B)|| +|28|PSH|Egy értéket belerak a következő funkció bemeneteihez|R(A)||| +|29|RET|Visszad egy értéket|R(A)||| +|30|GET|Lekér egy értéket a táblából `R(C) = R(A)[R(B)]`|R(A)|R(B)|R(C)| +|31|SET|Beállít egy értéket a táblának `R(A)[R(B)] = R(C)`|R(A)|R(B)|R(C)| + +:::tip + +Ha az ENV-ből szeretnénk lekérni valamit akkor a `GET`-et kell használni, úgy, hogy `R(A) = 0`! + +::: \ No newline at end of file diff --git a/docs/versioned_docs/version-0.2.0/enviroment.md b/docs/versioned_docs/version-0.2.0/enviroment.md new file mode 100644 index 0000000..8a5fbda --- /dev/null +++ b/docs/versioned_docs/version-0.2.0/enviroment.md @@ -0,0 +1,137 @@ +--- +sidebar_position: 4 +description: Az Astro Lang környezete +--- + +# Környezet + +--- + +## Alapfunkciók +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|ugass|Kíírja a megadott értékeket.|`ugass(...)`|`ugass(6,7,szaft"test"szaft)`| +|bimba|Várakozik adott ideig (miliszekundum-ban).|`ugass(ms: number)`|`bimba(1000)`| +|csömör|Hibával befejezi a programot.|`csömör(error: string)`|`csömör(szaft"Sikertelen: Sikeresen befejezve!"szaft)`| +|tarh|Kíírja, hogy a megadott érték milyen típusú.|`tarh(object: any): string`|`tarh(82)`| +|bimbabemb|Átalakítja a megadott érétk típusát, ha lehetséges.|`bimbabemb(object: any, target: string): any`|`bimbabemb(7,szaft"string"szaft)`| + +--- + +## Nerd (Math) +Matematikai funkciók +:::tip + +A példák elé kell írni a kulcsszót: `nerd` + +Példa: `nerd.abs` + +::: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|abs|Visszaadja a megadott érték abszolút értékét.|`abs(n: number): number`|`abs(-2)`| +|kerek|Visszaadja a megadott érték kerekített értékét. Irányok: `fel, le, közel`|`kerek(n: number, direction: string): number`|`kerek(1.2, szaft"fel"szaft)`| +|sin|Visszaadja a megadott érték szinusz értékét.|`sin(n: number): number`|`sin(0)`| +|cos|Visszaadja a megadott érték koszinusz értékét.|`cos(n: number): number`|`cos(90)`| +|tan|Visszaadja a megadott érték tangens értékét.|`tan(n: number): number`|`tan(0)`| +|sqrt|Visszaadja a megadott érték gyökét.|`sqrt(n: number): number`|`sqrt(-2)`| +|legnagyobb|Visszaadja a megadott értékek közül a legnagyobbat.|`legnagyobb(...: number): number`|`legnagyobb(1,2,3)`| +|legkisebb|Visszaadja a megadott értékek közül a legkisebbet.|`legkisebb(...: number): number`|`legkisebb(1,2,3)`| +|pi|A pi értékét tárolja.|`pi: number`|`pi`| + +--- + +## Szaft (String) +Szöveggel lévő funkciók +:::tip + +A példák elé kell írni a kulcsszót: `szaft` + +Példa: `szaft.csemerd fel` + +::: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|csemerd fel|Visszaadja a megadott szöveget végig nagy betűkkel.|`csemerd fel(s: string): string`|`csemerd fel(szaft"TeSt"szaft)`| +|csemerd le|Visszaadja a megadott szöveget végig kis betűkkel.|`csemerd le(s: string): string`|`csemerd le(szaft"TeSt"szaft)`| +|hossz|Visszaadja a megadott szöveg hosszát.|`hossz(s: string): number`|`hossz(szaft"test"szaft)`| +|ismételd|A megadott szöveget `n` szer ismételve adja vissza.|`ismételd(s: string, n: number): string`|`ismételd(szaft"test"szaft, 3)`| +|uno reverse|A megadott szöveget fordítva adja vissza.|`uno reverse(s: string): string`|`uno reverse(szaft"test"szaft)`| +|darabos|Visszaadja a megadott szöveg egy darabját.|`darabos(s: string, start: number, end: number): string`|`darabos(szaft"test"szaft, 0, 1)`| +|keres|Megnézi, hogy a megadott szövegben megtalálható-e a másik szöveg.|`keres(s: string, find: string): boolean`|`keres(szaft"test"szaft,szaft"st"szaft)`| +|átrak|A megadott szövegben kicseréli a másik szöveget egy harmadikkal.|`átrak(s: string, from: string, to: string): string`|`átrak(szaft"test"szaft,szaft"st"szaft,szaft"bemb"szaft)`| +|számmá|A megadott szövegben az `n`-edik karakter szám megfelelőjét adja vissza.|`számmá(s: string, n: number): number`|`számmá(szaft"test"szaft,0)`| +|betűvé|A megadott szám betű megfelelőjét adja vissza.|`átrak(n: number): string`|`átrak(65)`| + +--- + +## Tábla (Tábla) +Táblákkal lévő funkciók +:::tip + +A példák elé kell írni a kulcsszót: `tábla` + +Példa: `tábla.hozzáad` + +::: +:::warning + +A funkciók végeredményét ajánlott beleírni a táblába, mert ez nem történik meg alapból. + +Példa: `a = tábla.hozzáad(a, 7)` + +::: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|hozzáad|Hozzáad egy értéket egy táblához.|`hozzáad(t: table, value: any): table`|`hozzáad({1,2,3}, 7)`| +|töröl|Töröl egy értéket a táblából.|`töröl(t: table, n: number): table`|`töröl({1,2,3}, 0)`| +|kulcsok|Visszaadja a tábla kulcsait egy másik táblában.|`kulcsok(t: table): table`|`kulcsok({1,2,3})`| +|hossz|Visszaadja a tábla hosszát.|`hossz(t: table): number`|`hozzáad({1,2,3})`| + +--- + +## Szenvedés (Process) +A feladattal kapcsolatos funkciók +:::tip + +A példák elé kell írni a kulcsszót: `szenvedés` + +Példa: `szenvedés.vége` + +::: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|vége|Befejezi a programot egy kilépő kóddal.|`vége(n: number)`|`vége(0)`| + +--- + +## Kábel (Net) +A nettel kapcsolatos funkciót +:::tip + +A példák elé kell írni a kulcsszót: `kábel` + +Példa: `kábel.halgass` + +::: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|halgass|Hallgat egy porton.|`halgass(host: string, port: number): halgató`|`halgass(szaft"0.0.0.0"szaft,1010)`| + +:::warning + +Ezek a funkciók kérik, hogy az első értékük a szülő táblájuk legyen + +::: + +### Halgató: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|kérés|Várakozik egy kérésre, majd visszaadja azt.|`kérés(listener: halgató): kapcsolat`|`kérés(listener)`| + +### Kapcsolat: +|Név|Leírás|Használat|Példa| +|---|---|---|---| +|olvass|Beleolvas a kapcsolatba.|`olvass(stream: kapcsolat, len: number): string`|`olvass(stream, 1024)`| +|írj|Beleír a kapcsolatba.|`írj(stream: kapcsolat, data: string)`|`írj(stream, szaft"Hello from ASL!"szaft)`| +|zár|Bezárja a kapcsolatot.|`zár(stream: kapcsolat)`|`zár(stream)`| \ No newline at end of file diff --git a/docs/versioned_docs/version-0.2.0/intro.md b/docs/versioned_docs/version-0.2.0/intro.md new file mode 100644 index 0000000..90445fd --- /dev/null +++ b/docs/versioned_docs/version-0.2.0/intro.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 1 +description: Az Astro Lang bemutatása +--- + +# Astro Lang +Egy magyar + GenZ programozási nyelv + +--- + +Miben jobb: +- többszavas változók +- magyar kulcsszavak +- teljes értékű dokumentáció +- Rustban írt + +--- + +Példa: +```asl title="example.asl" +gethelj a = 10 +ugass(a) +``` \ No newline at end of file diff --git a/docs/versioned_docs/version-0.2.0/langfunctions.md b/docs/versioned_docs/version-0.2.0/langfunctions.md new file mode 100644 index 0000000..8434f5a --- /dev/null +++ b/docs/versioned_docs/version-0.2.0/langfunctions.md @@ -0,0 +1,278 @@ +--- +sidebar_position: 3 +description: Az Astro Lang fukciói +--- + +# Nyelvi funkciók + +--- + +## Assignment (Változó beállítás) +Kucsszó: `gethelj` + +Használat: `gethelj változó = érték` + +Példa: +```asl title="example.asl" +gethelj test = 17 +``` + +--- + +## Var read (Változó olvasás) +Kucsszó: `-` + +Használat: `változó` + +Példa: +```asl title="example.asl" +gethelj test = 17 +ugass(test) +``` + +--- + +## Var update (Változó frissítés) +Kucsszó: `-` + +Használat: `változó = érték` + +Példa: +```asl title="example.asl" +gethelj test = 17 +ugass(test) +test = 18 +ugass(test) +``` + +--- + +## Function (Funkció) +Kucsszó: `lőcsve` + +Használat: `lőcsve változó(változók) {lefutatott kód}` + +Példa: +```asl title="example.asl" +lőcsve test(a) { + //Ez akkor fut le mikor meghívod a funkciót +} +test(8) //így tudsz meghívni egy funkciót, ebben az esetben az "a" 8 lesz +``` + +--- + +## If (Ha) +Kulcsszó: `ha geny` + +Használat: `ha geny(feltétel) {ha igaz}` + +Példa: +```asl title="example.asl" +ha geny(piszv) { + //Ez akkor fut le, ha a feltétel igaz + //Ebben az esetben mindig +} +``` + +--- + +## Else (Különben) +Kulcsszó: `ha nem geny` + +Használat: `ha nem geny {ha hamis}` + +Példa: +```asl title="example.asl" +ha geny(nem piszv) { + //Ez akkor fut le, ha a feltétel igaz + //Ebben az esetben soha +} ha nem geny { + //Ez akkor fut le, ha a feltétel hamis + //Ebben az esetben mindig +} +``` + +:::tip + +Nem kötelező egyből a ha után rakni, a kódban bárhol elfogadható és az előzőleg lefutott if-t veszi figyelembe. + +::: + +--- + +## Else if (Különben-Ha) +Kulcsszó: `ha nem geny akkor geny` + +Használat: `ha nem geny akkor geny(feltétel) {ha igaz}` + +Példa: +```asl title="example.asl" +ha geny(nem piszv) { + //Ez akkor fut le, ha a feltétel igaz + //Ebben az esetben soha +} ha nem geny akkor geny(piszv) { + //Ez akkor fut le, ha az előző if feltétele hamis és a feltétel igaz + //Ebben az esetben mindig +} +``` + +:::tip + +Nem kötelező egyből a ha után rakni, a kódban bárhol elfogadható és az előzőleg lefutott if-t veszi figyelembe. + +::: + +--- + +## While (Amíg) +Kulcsszó: `amíg geny` + +Használat: `amíg geny(feltétel) {amíg igaz}` + +Példa: +```asl title="example.asl" +amíg geny(piszv) { + //Ez addig fut le, amíg a feltétel igaz + //Ebben az esetben örökké fog futni +} +``` + +--- + +## For (Változós amíg) +Kulcsszó: `kopva` + +Használat: `kopva(beállítás;feltétel;frissítés) {amíg igaz}` + +:::info + +A beállítás első futás előtt fut le, csak 1 utasítást tartalmazhat. + +A frissítés minden futás után fut le, csak 1 utasítást tartalmazhat. + +::: + +Példa: +```asl title="example.asl" +kopva(gethelj i = 0; i < 10; i = i + 1) { + //Ez addig fut le, amíg a feltétel igaz +} +``` + +--- + +## Break (Törés) +Kulcsszó: `kraf` + +Használat: `kraf` + +Példa: +```asl title="example.asl" +kopva(gethelj i = 0; i < 10; i = i + 1) { + kraf //Ez az első futásnál be fogja fejezni az amíg-ot +} +``` + +--- + +## Continue (Folytasd) +Kulcsszó: `szard le` + +Használat: `szard le` + +Példa: +```asl title="example.asl" +kopva(gethelj i = 0; i < 10; i = i + 1) { + ugass(i) + szard le + ugass(78) //Ez soha nem fog lefutni, mert át lesz ugorva +} +``` + +--- + +## Return (Funkció visszadása) +Kulcsszó: `reti` + +Használat: `reti [változó]` + +Példa: +```asl title="example.asl" +lőcsve test(a) { + reti a +} +gethelj a = test(8) //Az "a" értéke "8" lesz, mert azt adja vissza. +``` + +--- + +## Import (Betöltés) +Kulcsszó: `hámozd, be/ba` + +Használat: `hámozd változó be/ba` + +:::tip + +Ez egyből létrehoz egy változót. +Pontos fájlnevet tudsz megadni! + +::: + +Példa: +```asl title="example.asl" +hámozd test be szaft"test.asl"szaft +``` + +--- + +## Table (Tábla) + +:::tip + +A kulcs bármilyen érték típus lehet, kivéve: funkció, tábla. + +::: + +### Létrehozás +Használat: `{érték,érték}, {[kulcs]=érték}` + +Példa: +```asl title="example.asl" +gethelj a = {1,2,3} +``` + +### Lekérés +Használat: `tábla[kulcs]` + +Példa: +```asl title="example.asl" +gethelj a = {1,2,3} +ugass(a[0]) // 1 +``` + +### Gyors lekérés +Használat: `tábla[kulcs]` + +:::warning + +Csak a szöveges kulcsokkal működik, viszont több szót is támogat! + +::: + +Példa: +```asl title="example.asl" +gethelj a = {1,2,3,[szaft"test"szaft]=73} +ugass(a.test) // 73 +``` + +### Beállítás +Használat: `tábla[kulcs] = érték` + +Példa: +```asl title="example.asl" +gethelj a = {1,2,3} +ugass(a[0]) // 1 +a[0] = 12 +ugass(a[0]) // 12 +``` \ No newline at end of file diff --git a/docs/versioned_docs/version-0.2.0/syntax.md b/docs/versioned_docs/version-0.2.0/syntax.md new file mode 100644 index 0000000..794b9b3 --- /dev/null +++ b/docs/versioned_docs/version-0.2.0/syntax.md @@ -0,0 +1,49 @@ +--- +sidebar_position: 2 +description: Az Astro Lang synatx bemutatása +--- + +# Syntax + +--- + +## Típusok: +|Típus neve|Magyar neve|Leírása|Példa| +|---|---|---|---| +|String|Szöveg|Minden ami szöveg.|`szaft"test"szaft`| +|Number|Szám|Minden ami szám.|`2, 3.14, -5`| +|Identifier|Azonosító|A változók, dolgok neve/azonosítója, több szót is támogat. Fontos: szám nem lehet a szavak elején, mert az már számnak számít!|`teszt, több szót is támogat, ez is jo72`| +|Operator|Művelet|Minden ami művelet.|`+, -, *`| +|Keyword|Kulcsszó|Azok az azonosítók amelyek valamilyen funkciót látnak el a programnyelben.|`gethelj, lőcsve, ha geny`| +|Separator|Elválasztó|Olyan karakterek, melyek elválaszják a többi típust egymástól.|`=, (, {`| + +Példa: +```asl +gethelj a = 15 + 2 +^ ^ ^ ^ ^ ^ Number +| | | | | Operator +| | | | Number +| | | Separator +| | Identifier +| Keyword +``` + +## Egyéb: +### Komment: +Ezek nem befolyásolják a kód futását, csak leírást adnak arról, hogy mi mit csinál. +- Egysoros kommentet így tudsz létrehozni: `//komment` +- Többsoros kommentet pedig így: `/*komment*/` +### Logikai érték: +:::info + +A nyelv ezeket kulcsszóként kezeli! + +::: +Igaz (piszv) vagy hamis (nem piszv) +### Semmi: +:::info + +A nyelv ezt is kulcsszóként kezeli! + +::: +Null (nincs hám) \ No newline at end of file diff --git a/docs/versioned_sidebars/version-0.2.0-sidebars.json b/docs/versioned_sidebars/version-0.2.0-sidebars.json new file mode 100644 index 0000000..2782dc0 --- /dev/null +++ b/docs/versioned_sidebars/version-0.2.0-sidebars.json @@ -0,0 +1,8 @@ +{ + "sidebar": [ + { + "type": "autogenerated", + "dirName": "." + } + ] +} diff --git a/docs/versions.json b/docs/versions.json new file mode 100644 index 0000000..3145067 --- /dev/null +++ b/docs/versions.json @@ -0,0 +1,3 @@ +[ + "0.2.0" +]