SKŁADNIA
W informatyce termin składnia języka komputerowego odnosi się do zestawu reguł, które definiują kombinację symboli uważaną za prawidłowo skonstruowany fragment lub dokument w tym języku. Dotyczy to zarówno języków znaczników, w których dokument reprezentuje dane, jak i języków programowania, w których dokument reprezentuje kod źródłowy. Składnia języka określa jego formę powierzchniową. Języki komputerowe oparte na tekście są oparte na sekwencjach znaków. Z drugiej strony wizualne języki programowania opierają się na powiązaniach między symbolami (które mogą być graficzne lub tekstowe) oraz na układzie przestrzennym. Mówi się, że dokumenty, które są niepoprawne składniowo, zawierają błąd składniowy.
Składnia – forma – przeciwstawiona jest semantyce – znaczeniu. W przetwarzaniu języków komputerowych przetwarzanie semantyczne zwykle następuje po przetwarzaniu składniowym. Jednak w niektórych przypadkach przetwarzanie semantyczne jest ważne dla pełnej analizy składniowej, dlatego są one wykonywane jednocześnie lub razem. W kompilatorze analiza składniowa obejmuje frontend, podczas gdy analiza semantyczna obejmuje backend (i środkowy koniec w przypadkach, w których rozróżnia się fazę).
POZIOMY SKŁADNI
Składnia języka komputerowego jest zwykle podzielona na trzy różne poziomy:
Wyróżnienie w ten sposób tworzy modułowość, pozwalającą na opisanie i obróbkę każdego poziomu osobno, a często niezależnie. Rozpoczyna się od leksykonu, który zamienia liniową sekwencję znaków w liniową sekwencję tokenów: nazywa się to analizą leksykalną lub leksyką .
Po drugie, parser zamienia liniową sekwencję tokenów w tak zwane hierarchiczne drzewo składniowe. Nazywa się to parsowaniem .
Po trzecie, analiza kontekstowa rozwiązuje kontrole i nazywa typy. Sam etap analizy można podzielić na dwie części: konkretne drzewo składni lub drzewo analizy , które jest określone przez gramatykę, ale jest zbyt szczegółowe do praktycznego zastosowania, oraz abstrakcyjne drzewo składni (AST), które upraszcza to do postaci to jest użytkowe.
SKŁADNIA A SEMANTYKA
Składnia języka opisuje postać poprawnego programu, ale nie dostarcza żadnych informacji o znaczeniu programu ani o wynikach, jakie przynosi wykonanie tego programu. Znaczenie nadawane kombinacji symboli jest obsługiwane przez semantykę (zakodowaną na stałe lub formalną w implementacji referencyjnej). Nie wszystkie programy, które są poprawne składniowo, są poprawne semantycznie. Mimo to duża liczba programów poprawnych składniowo jest źle sformułowana, zgodnie z regułami języka; i może (w odniesieniu do specyfikacji językowej, jak również solidności implementacji) spowodować błąd w wykonaniu lub tłumaczeniu. W niektórych przypadkach takie programy mogą wykazywać niezdefiniowane zachowanie. Nawet w czasach, gdy program jest dobrze zdefiniowany w języku, nadal może mieć znaczenie niezamierzone przez jego autora.
Na przykładzie języka naturalnego nadanie znaczenia zdaniu, które jest poprawne gramatycznie, może być niemożliwe. Na przykład,