Hogy kell értelmezni a szintaxis gráfot?
Mi a lényege?
Hogy lehet értelmezni C nyelvben?
Hogyan lehet vele meghatározni egy nyelv szintaxisát?
Mit jelent az hogy a nem terminális szimbólum tovább bontható, a terminális pedig nem bontható?
Mit értünk szimbólum alatt?
Mire utalnak a nyilak?
Sehol nem találtam kielégítő választ
Ha veszel egy kifejezést, ami tovább bontható több variációra, pl:
kif->tipus nev szemikolon (int szam;)
kif->tipus nev egyenlojel nev szemikolon (int szam = valtozo;)
így a kif, mint szabály több felé bontható, ezáltal nem terminális, mivel nem vég állapotot jelez
de pl tipus->int, tipus->string, ha azt mondod, hogy int az terminális, akkor az már a kód generálás szempontjából végső verzió.
Fogd föl úgy, mintha a nem terminális a változó lenne, a terminális pedig a literál egy programkódban. A változók még takarnak értékeket, de a literál már végső konstansok.
A nyíl arra utal, hogy adott szabály adott sorozatra bomlik.
Szintaxisfát műveleteknél lehet jól bemutatni:
Pl
..*..
./.\.
4..+.
../.\
.3...2
Alábbi ábrán a pontok csak elválasztás szempontjából vannak jelen, szóval:
a szorzásnak két tagja van, két számot vár és egy számot fog visszaadni, első paramétere 4, második egy összegből származó részfa
a részfa két szám paramétert kap, azokat összeadja, visszaadja az 5-t.
Ezután a fa csak a * két felét tartja, 4 és 5, így kijön a 20.
Remélem érthetőbb kicsit.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!