A szintaxis hiba (angolul: syntax error) egy programozási kifejezés, amely olyan hibára utal, amikor a kód nem felel meg az adott programozási nyelv szabályainak, vagyis a „szintaxisának”. A szintaxis megmondja, hogy hogyan lehet (és hogyan nem lehet) parancsokat, változókat, függvényeket stb. megfogalmazni egy adott nyelven. Ha a szintaktikai szabályokat nem tartjuk be, a program nem fog lefutni – vagy hibaüzenetet kapunk.
Egy egyszerű példával élve: amikor egy ember helytelenül alkot mondatot (pl. „Én menni bolt”), nehezen értjük meg. Hasonlóképp, ha a programozó helytelenül írja le valamelyik utasítást, a lefordító vagy a végrehajtó program szintaxis hibát jelez.
Részletes magyarázat
Amikor programozol, minden nyelvnek megvannak a maga szigorú szabályai: hogyan kell leírni egy utasítást, hol kell pontosvessző (!), milyen elválasztójeleket kell használni, hol kell nyitó- és záró zárójelet tenni – stb. A szintaxis hiba akkor keletkezik, amikor ezek közül valamelyiket rosszul alkalmazod vagy kihagyod.
A számítógép szó szerint értelmezi a kódot, és ha valami fura neki – például hiányzik egy zárójel vagy elgépeljük egy változó nevét –, nem fogja tudni végrehajtani a programot, hanem figyelmeztet, hogy szintaxis hibát észlelt.
Szintaxis hiba példák
- Hiányzó zárójel:
print("Hello, világ!" # Hiba: hiányzik a lezáró zárójel
- Elgépelés kulcsszónál:
foor i in range(5): print(i) # Hiba: 'foor' helyett 'for' kellene
- Felesleges karakter:
print "Szia!" # Python 3-ban: hiányzó zárójel ('print' függvényként működik)
- Pontosvessző kihagyása (pl. Java):
System.out.println("Hello világ!") // Hiba: hiányzik a pontosvessző a sor végéről
- Változó helytelen elnevezése:
szám1 = 10 print(szám) # Hiba: 'szám' nincs definiálva, csak 'szám1' van
- Függvény helytelen meghívása:
len "alma" # Hiba: a len-t zárójelekkel kell hívni: len("alma")
A „szintaxis hiba” szinonimái magyarul
- szintaktikai hiba
- leírási hiba (informatikai értelemben)
- helyesírási hiba (szűkebb értelemben, de ez nem teljesen pontos!)
Általánosságban az „elírás”, „tévesztés” vagy „programozási hiba” is használható rá, de a legpontosabb és leggyakoribb kifejezések: szintaxis hiba vagy szintaktikai hiba.
Összefoglalva:
A szintaxis hiba azt jelzi, hogy a kódod szerkezetével, leírásával van baj – vagyis a programozási nyelv szabályainak nem felel meg. Ilyenkor a program nem fordul vagy nem fut le, amíg a hibát ki nem javítod.