Как стать автором
Обновить

Комментарии 16

Регулярные выражения — это в каком-то смысле и есть конечные автоматы. То есть, регулярка компилируется в конечный автомат, в котором терминальные вершины — как раз «нашлось» и «не нашлось».

То есть, на самом деле, вы всё по науке сделали.
Да, согласен. Я имел ввиду, что в то время я и слов таких-то не знал.
Ну с наукой вы мягко говоря преувеличили. По науке выражения нужно парсить с помощью кс-парсеров и вычислять на каждом подвыражении промежуточный результат, а в идеале строить граф и обходить его. И не использовать регулярки.
Какой отвратительно неверный вывод вы сделали из верной посылки.
Было бы приятно увидеть примеры.
НЛО прилетело и опубликовало эту надпись здесь
Ну и? Тут кто-то кроме вас разберется? Был у меня подобный код, через пол года смотришь на него как баран на новые ворота. В итоге подобную задачу (делал скриптовый язык для МК) решил при помощи связки лекс/бизон компиляция в VM, а на микроконтроллере конечный автомат разбора и исполнения простейшей стековой VM, все красиво все понятно.
НЛО прилетело и опубликовало эту надпись здесь
1. Скорость была не критична,
2. Я немного не понял, вы хотите сказать, что код для витруальной машины исполняемой на МК пусть даже стековой, будет медленнее нежели прямой парсинг?
Может я не корректно высказался — на VM исполнялся именно байткод.
НЛО прилетело и опубликовало эту надпись здесь
С похожим порывом писал в школе парсер на visual basic. Только в те времена регулярные выражения я считал черными ящиками, работающими на магии, потому разбирал руками. Первый вариант искал самую глубокую скобку, а потом лез наверх. Но это оказалось очень медленно (я писал штуку для построения графиков). А вот второй вариант работал примерно тем же образом, но строил цепочку операций которые приводили к вычислению выражения. Фактически — постфиксная запись, обёрнутая в некое подобие виртуальной машины. И вот тогда рисовальщик графиков стал летать.
C# без интернета? Без интернета было много чего, но только не C#
Я к тому, что ссылаться на недоступность сети Internet в том же 2005 году несколько странно. Не такое уж это дремучее было время.
У кого как.
В 2005 году я лично общался с одноклассниками из поселка Ванавара Тунгусско-Чунского района Эвенкийского Автономного Округа. В который даже продукты доставляют раз в год баржами по весне.
Общался через интернет. Так что я примерно представляю у кого как. Хотя неважно это. Пусть не было интернета тогда. Это не оправдание для вычисления арифметических выражений при помощи выражений регулярных.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории