Próbuję zrozumieć kompilację i interpretację, krok po kroku, zastanawiając się nad całkowitym obrazem. Podszedłem więc do pytania podczas czytania http://www.cs.man.ac.uk/~pjj/farrell/comp3.html tego artykułu
To mówi :
Kolejny etap kompilatora nosi nazwę Parser. Ta część kompilatora rozumie gramatykę języka. Odpowiada za identyfikację błędów składniowych i tłumaczenie bezbłędnego programu na wewnętrzne struktury danych, które można interpretować lub zapisywać w innym języku.
Ale nie mogłem rozgryźć, w jaki sposób tokenizer może poprawnie tokenizować dany strumień, który zawiera błąd składniowy.
Powinien się tam utknąć lub przekazać parserowi błędne informacje. To znaczy, czy tokenizacja nie jest też rodzajem tłumacza?
Jak więc przezwyciężyć leksykalne, uszkodzone linie kodu podczas tokenizacji.
W powyższym linku znajduje się przykład tokena w nagłówku Tokenizera .
Rozumiem, że forma tokena wygląda na to, że jeśli coś jest nie tak z tokenem kodu, to również zostanie uszkodzony.
Czy mógłbyś wyjaśnić moje nieporozumienie?