Лексички анализатор: Разлика помеѓу преработките
[непроверена преработка] | [непроверена преработка] |
Избришана содржина Додадена содржина
с Бот Менува: fa:تحلیل واژگانی |
с Бот: козметички промени |
||
Ред 1:
{{Без извори|датум=ноември 2009}}
'''Лексичка анализа''' е процес во кој некој влез од низа од знаци (на пример изворниот код кај компјутерски програм) да произведе како излез низа од симболи наречени
[[
За многу јазици правењето на лексичка анализа може да се направи во едно поминување- со читање на знак по знак од влезот. Но, моногу комерцијални компајлери користат на рака напишани (не автоматски генерирани) лексери бидејќи во нив е возможно многу полесно да се интегрираат справувачи со грешки.
Ред 8:
Лексерот или лексичкиот анализатор се состои од два дела: скенер и евалуатор. (Овие делови обично се интегрирани поради ефикасноста т.е. за да работат паралелно).
Во ''првата фаза'', скенирањето,
''Втората фаза'', евалуацијата, кој ја ги поминува токените и им дава вредност т.е. создава стек на вредности. Токените комбинирани со нивните вредности потоа се даваат на парсерот.
Ред 28:
Иако е возможно а, понекогаш и пожелно да се пишуваат лексери, тие обично се генерираат од автоматски алатки. Овие алатки генерално прифаќаат регуларни изрази кои што ги опишуваат токените кои се дозволени на влез. Секој регуларен израз е проследен со продукција на лексичката граматика на програмскиот јазик којшто ги евалуира токените спојувајќи ги со регуларните изрази. Овие алатки можат да генерираат изворен код
Пример за лексички анализатор
|