add ASX to the docs, and versionise it
This commit is contained in:
parent
db1794d82e
commit
8f967fc172
8 changed files with 714 additions and 0 deletions
108
docs/docs/asx.md
Normal file
108
docs/docs/asx.md
Normal file
|
@ -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 <fájl>` 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`!
|
||||
|
||||
:::
|
108
docs/versioned_docs/version-0.2.0/asx.md
Normal file
108
docs/versioned_docs/version-0.2.0/asx.md
Normal file
|
@ -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 <fájl>` 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`!
|
||||
|
||||
:::
|
137
docs/versioned_docs/version-0.2.0/enviroment.md
Normal file
137
docs/versioned_docs/version-0.2.0/enviroment.md
Normal file
|
@ -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)`|
|
23
docs/versioned_docs/version-0.2.0/intro.md
Normal file
23
docs/versioned_docs/version-0.2.0/intro.md
Normal file
|
@ -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)
|
||||
```
|
278
docs/versioned_docs/version-0.2.0/langfunctions.md
Normal file
278
docs/versioned_docs/version-0.2.0/langfunctions.md
Normal file
|
@ -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
|
||||
```
|
49
docs/versioned_docs/version-0.2.0/syntax.md
Normal file
49
docs/versioned_docs/version-0.2.0/syntax.md
Normal file
|
@ -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)
|
8
docs/versioned_sidebars/version-0.2.0-sidebars.json
Normal file
8
docs/versioned_sidebars/version-0.2.0-sidebars.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"sidebar": [
|
||||
{
|
||||
"type": "autogenerated",
|
||||
"dirName": "."
|
||||
}
|
||||
]
|
||||
}
|
3
docs/versions.json
Normal file
3
docs/versions.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
[
|
||||
"0.2.0"
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue