Лексичний аналізатор¶
Модуль, що відповідає за розбір вихідного коду на лексеми.
- Поділ робиться на основі типу лексем, які бувають:
- ALPHA - букви
- NUM - цифри
- SYMB - символи =:> <+ - * / () {}%,
- CMDEND - символ ;
- QUOTE - лапки ” і ‘
- COMMENT - коментарі. # - Однорядковий коментар
Все послідовності символів типу SYMB є сукупностями окремих посимвольно лексем крім деяких винятків, таких як поєднання символів ‘> =’ і ‘<=’.
Всі однорядкові коментарі ігноруються і не входять в результуючий список лексем.
Для кожної рядкової лексеми запам’ятовується рядок, на якій вона була знайдена для подальшої обробки помилок.
-
pyCompiler.utils.lexer.
lex
(source)¶ Функція, що відповідає за лексичний аналіз
Parameters: source – вихідний код програми Return type: список лексем
Приклад¶
Дан вихідний код:
i = (15-2) -5;
print "i =";
print i;
print "\ n";
Його лексичний розбір буде таким: [‘i’, ‘=’, ‘(‘, ‘15 ‘,’ - ‘, ‘2’, ‘)’, ‘-‘, ‘5 ‘,’; ‘,’ print ‘,’ “i =” ‘,’; ‘,’ print ‘,’ i ‘,’; ‘,’ print ‘,’ “n” ‘,’; ‘]