|
bek1996, это же вузовский курс формальных языков. Я только сейчас заметил ещё пару моментов: 1. Стадия «трансляция» - это на самом деле кодогенерация, 2. Как правило в процедуру трансляции ещё включают «семантический анализ» и «оптимизацию», 3. Context Free Grammar - всё-таки не «контекстно-независимая», а «контекстно-свободная». Чо там, есть новенького? aRiGaTo, получается да, правда я первый раз слышу что есть такой алгоритм ![]() Naik, shunting yard? aRiGaTo, там вроде через стек можно делать. И хранить правила какой тип подвыражений может быть в разных случаях, может таки доделаю ![]() Naik, Потому что за приоритетами следить надо. Всё просто. Ну, ещё распознавание неоднозначных операторов, e.g. унарного минуса. Ну, можно было и воспользоваться генераторами типа flex+bison, JFlex+byacc/j Пытался транслятор бейсика сделать, дальше разбора на токены не дошло. Основная сложность в разборе вложенных сложных выражений. Oak, мне больше обратное больше нравится. Токен - кусочек текста, лексема - токен со всякими штуками ![]() aRiGaTo, левую рекурсию устранил, да, много неточностей по поводу открывающих/закрывающих скобок. Токенами можно называть вообще всё, что угодно, на то они и токены. И почему все назыыают токенами лексемы с параметрами =( Я не согласен ![]() К записи Java Категории
|