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