Лексикалык анализатор эмне кылат?
Лексикалык анализатор эмне кылат?

Video: Лексикалык анализатор эмне кылат?

Video: Лексикалык анализатор эмне кылат?
Video: 8-класс | Кыргыз тили | Сөз жана анын маaнилери: лексикалык, грамматикалык кайталоо 2024, Май
Anonim

Лексикалык талдоо болуп саналат компилятордун биринчи фазасы. Бул тилдин препроцессорлорунан өзгөртүлгөн баштапкы кодду алат болуп саналат сүйлөм түрүндө жазылган. The лексикалык анализатор баштапкы коддогу боштуктарды же комментарийлерди алып салуу менен бул синтаксистерди бир катар белгилерге бөлөт.

Ошого жараша лексикалык анализатордун ролу кандай?

Лексикалык анализатордун ролу Лексикалык анализатор төмөнкү тапшырмаларды аткарат: Баштапкы программаны окуйт, киргизилген символдорду сканерлейт, аларды лексемаларга топтойт жана лексемаларды чыгарат. Скандоо: Киргизилген белгилерди окуу, ак боштуктарды жана комментарийлерди алып салуу. Лексикалык анализ : Токендерди чыгаруу катары чыгарыңыз.

Ошо сыяктуу эле, лексикалык анализ үчүн кайсы компилятор колдонулат? JavaCC стандарт болуп саналат Java компилятор-компилятор. Бул бөлүмдө берилген башка куралдардан айырмаланып, JavaCC бир анализдөөчү жана сканер (лексер) генератору болуп саналат. JavaCC бир эле киргизүү файлын (грамматикалык файл деп аталат) алат, ал андан кийин лексикалык талдоо үчүн, ошондой эле талдоочу үчүн эки классты түзүү үчүн колдонулат.

Ошо сыяктуу эле, суроо болушу мүмкүн, лексикалык анализатордун натыйжасы кандай?

(I) The чыгаруу а лексикалык анализатор белгилери болуп саналат. (II) printf("i=%d, &i=%x", i, &i) ичиндеги токендердин жалпы саны; 10. (III) Символдук таблица массив, хэш таблица, дарак жана байланышкан тизмелерди колдонуу менен ишке ашырылышы мүмкүн.

Лексикалык анализде кандай маселелер бар?

Лексикалык анализдин маселелери 1) Жөнөкөй дизайн - бул эң маанилүү нерсе. ажыратуу лексикалык анализ синтаксистен талдоо көп учурда бул фазалардын тигил же бул этаптарын жөнөкөйлөтүүгө мүмкүндүк берет. 2) Компилятордун эффективдүүлүгү жакшыртылды. 3) Компилятордун портативдүүлүгү жакшыртылды.

Сунушталууда: