Co oznaczają „składnia” i „semantyka” i czym się różnią?

0
10204

Język to zbiór ważnych zdań. Co sprawia, że ​​zdanie jest ważne? Ważność można podzielić na dwie rzeczy: składnię i semantykę. Termin składnia odnosi się do struktury gramatycznej, natomiast termin semantyka odnosi się do znaczenia symboli słownictwa uporządkowanych w tej strukturze. Gramatyczne (poprawne składniowo) nie oznacza jednak rozsądne (poprawne semantycznie). Na przykład zdanie gramatyczne „cows flow Supreme” jest gramatycznie poprawne (przysłówek podmiot-czasownik) w języku angielskim, ale nie ma sensu. Podobnie w języku programowania gramatyka (reguły składni) może dopuszczać ID RÓWNA ID, ale język może zezwalać na zdanie tylko wtedy, gdy tekst dopasowany do ID nie reprezentuje nazwy typu (reguła semantyczna).

Pisząc gramatykę ANTLR, określasz zestaw reguł składni obowiązujących w Twoim języku. ANTLR używa tego do generowania modułu rozpoznawania zdań w tym języku. Aby zastosować reguły semantyczne, musisz dodać do gramatyki akcje lub predykaty semantyczne. Akcje testują „wartość” różnych tokenów i ich relacji w celu określenia ważności semantycznej. Na przykład, jeśli szukasz nazwy typu w tabeli symboli, aby upewnić się, że jest to typ, a nie zmienna, stosujesz regułę semantyczną.