Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2013-11-12 11:34:00 ЛС | профиль | цитата
nesco писал(а):
Ну и какой-то же должен быть алгоритм, иначе это все теряет всякий смысл А то получается, что в предыдущем примере по-одному парсили, а тут надо по-другому

Повторюсь - я ни на чем не настаиваю
И ничего не придумываю.
Но могу рассказать (потому что случайно знаю), как делают типа "обычно".

А парсили-то в обоих примерах совершенно одинаково.
Исходная строка выбирается посимвольно СНАЧАЛА - отстегивается кусочек текста максимальной длины, подходящий под какое-то из определений (типа самая длинная лексема).
Отстегнули - делаем то же самое с остатком. Ну типа продолжаем... Не нашли лексему - продергиваем одиночный символ (в примерах это была двоечка).

Посмотри - все именно так и есть в обоих примерах.
И я тебя уверяю - все лексические анализаторы делают именно так. В т.ч. и, не побоюсь этого слова - MathParse

ser_davkin писал(а):
А, не проще ли принять правило:"Кто выше тот и прав"

Можно принять любое соглашение, лишь бы оно точно было известно всем остальным.
Предпочтительней - определяемое минимальным количеством словесов.

Полностью согласен с nesco - сегодня это просто "много замен по порядку"
Чего проще-то - переводи название элемента дословно.

Хватает ли этой (предельно простой) семантики - вопрос обсуждения...
Лично моя точка зрения - сооружать лексический анализатор только ради замен... Не царское это дело. В том смысле, что результат не стоит затрат. Вот полноценный сканер - может быть... Если не требовать супер быстродействия.
В общем, воровать - так миллион
карма: 9

0