A következő dokumentáció bemutatja a HunLang nyelv legtöbb funkcióját és szintaxisát.
A HunLang-ban a változók deklarálása és értékek hozzárendelése a következő módon történik:
RENDEL
SZÁM
szam_var
EGYENLŐ
42
VÉGE
RENDEL
SZÖVEG
szoveg_var
EGYENLŐ
"Hello, World!"
VÉGE
RENDEL
LOGIKAI
igaz_var
EGYENLŐ
LIGAZ
VÉGE
RENDEL
LOGIKAI
hamis_var
EGYENLŐ
LHAMIS
VÉGE
Listák deklarálása és értékek hozzárendelése:
RENDEL
LISTA<SZÖVEG>
nevek_var
EGYENLŐ
[
"Józsi"
,"Pisti"
,"Csaba"
,"Milan"
,"Bence"
]
VÉGE
Értékpárok deklarálása és értékek hozzárendelése:
RENDEL
ÉRTÉKPÁR<SZÖVEG, SZÁM>
felsorolás
EGYENLŐ
{
"first"
:
1
,"second"
:
2
,"third"
:
3
,"fourth"
:
4
,"fifth"
:
5
}
VÉGE
Matematikai műveletek végrehajtása:
RENDEL
SZÁM
osszeg
EGYENLŐ
10
MEG
5
VÉGE
RENDEL
SZÁM
kulonbseg
EGYENLŐ
10
KIVON
5
VÉGE
RENDEL
SZÁM
szorzat
EGYENLŐ
10
SZOR
5
VÉGE
RENDEL
SZÁM
hanyados
EGYENLŐ
10
OSZT
5
VÉGE
Feltételes elágazások használata:
HA
(igaz_var
UGYANAZ
LIGAZ)AKKOR
{
MEGHÍV
KIÍR("igaz_var is true")
VÉGE
}
VÉGE
HA
(szam_var
KISEBB
50)AKKOR
{
MEGHÍV
KIÍR("szam_var is less than 50")
VÉGE
}
VÉGE
HA
(szam_var
NAGYOBB
50)AKKOR
{
MEGHÍV
KIÍR("szam_var is greater than 50")
VÉGE
}
KÜLÖNBEN
{
MEGHÍV
KIÍR("szam_var is not greater than 50")
VÉGE
}
VÉGE
HA
(szam_var
NEM
UGYANAZ
42)AKKOR
{
MEGHÍV
KIÍR("szam_var is not 42")
VÉGE
}
VÉGE
For ciklus használata:
CIKLUS
(SZÁM
i
EGYENLŐ
0
VÉGE
i
KISEBB
nevek_hosszaVÉGE
MEGHÍV
NÖVEL(i, 1))
{
MEGHÍV
KIÍR(nevek_var[i])
VÉGE
}
VÉGE
While ciklus használata:
RENDEL
SZÁM
j
EGYENLŐ
0
VÉGE
AMÍG
(j
KISEBB
5){
MEGHÍV
KIÍR(j)
VÉGE
RENDEL
SZÁM
j
EGYENLŐ
MEGHÍV
NÖVEL(j, 1)
VÉGE
}
VÉGE
Do-While ciklus használata:
RENDEL
SZÁM
k
EGYENLŐ
0
VÉGE
UTÁNA
{
MEGHÍV
KIÍR(k)
VÉGE
RENDEL
SZÁM
k
EGYENLŐ
MEGHÍV
NÖVEL(k, 1)
VÉGE
}
AMÍG
(k
KISEBB
5)VÉGE
Foreach ciklus használata listákban és értékpárokban:
MINDEGYIKEN
(ciklus_változó
BENNE
nevek_var){
MEGHÍV
KIÍR(ciklus_változó)
VÉGE
}
VÉGE
MINDEGYIKEN
(érték_pár
BENNE
felsorolás){
MEGHÍV
KIÍR(érték_pár)
VÉGE
}
VÉGE
Függvények deklarálása és meghívása:
UTASÍTÁSOK
osszead
(SZÁM
a
,SZÁM
b
)VISSZATÉR
SZÁM
{
VISSZAAD
a
MEG
bVÉGE
}
VÉGE
RENDEL
SZÁM
eredmeny
EGYENLŐ
MEGHÍV
osszead(10, 20)
VÉGE
MEGHÍV
KIÍR(eredmeny)
VÉGE
UTASÍTÁSOK
irjKiUzenetet
(SZÖVEG
uzenet
)VISSZATÉR
SEMMI
{
MEGHÍV
KIÍR(uzenet)
VÉGE
}
VÉGE
MEGHÍV
irjKiUzenetet("Hello from function!")
VÉGE
UTASÍTÁSOK
irjukKiEgyásUtánANeveket
(LISTA<SZÖVEG>
nevek
)VISSZATÉR
SEMMI
{
MEGHÍV
KIÍR(nevek)
VÉGE
RENDEL
SZÁM
nevek_hossza
EGYENLŐ
MEGHÍV
HOSSZ(nevek)
VÉGE
CIKLUS
(SZÁM
i
EGYENLŐ
0
VÉGE
i
KISEBB
nevek_hosszaVÉGE
MEGHÍV
NÖVEL(i, 1))
{
MEGHÍV
KIÍR(nevek[i])
VÉGE
}
VÉGE
MINDEGYIKEN
(ciklus_változó
BENNE
nevek){
MEGHÍV
KIÍR(ciklus_változó)
VÉGE
}
VÉGE
}
VÉGE
MEGHÍV
irjukKiEgyásUtánANeveket(nevek_var)
VÉGE
Kommentek használata:
€ Ez egy komment
A HunLang szkriptek futtatása:
python main.py file.hun
nested if-eket nem parse-ol rendesen
~SOON~