Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
" Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от opennews (??), 28-Янв-22, 09:19 | ||
Состоялся релиз re2c 3.0, свободного генератора лексических анализаторов для языков C, C++, Go и добавленного в этом релизе языка Rust. Для поддержки Rust пришлось использовать другую модель кодогенерации, где конечный автомат представлен в виде цикла и переменной-состояния, а не в виде меток и переходов (поскольку в Rust нет goto, в отличие от С, С++ и Go)... | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по времени | RSS] |
1. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (1), 28-Янв-22, 09:19 | ||
> в Rust нет goto, в отличие от С | ||
Ответить | Правка | Наверх | Cообщить модератору |
2. " Выпуск генератора лексических анализаторов re2c 3.0" | +11 +/– | |
Сообщение от Ононимус (?), 28-Янв-22, 09:26 | ||
В умелых руках, goto безареден. Да и сшенерированный код прежде всего должен работать, а не быть суперчитаемым | ||
Ответить | Правка | Наверх | Cообщить модератору |
3. " Выпуск генератора лексических анализаторов re2c 3.0" | +4 +/– | |
Сообщение от myhand (ok), 28-Янв-22, 09:33 | ||
> Да и сшенерированный код прежде всего должен работать, а не быть суперчитаемым | ||
Ответить | Правка | Наверх | Cообщить модератору |
27. " Выпуск генератора лексических анализаторов re2c 3.0" | +2 +/– | |
Сообщение от Аноним (27), 28-Янв-22, 12:33 | ||
> Это тебе до первого использования отладчика так кажется... | ||
Ответить | Правка | Наверх | Cообщить модератору |
46. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от myhand (ok), 29-Янв-22, 05:59 | ||
Для отладки "освоения логики программы" нинада. Панятна. | ||
Ответить | Правка | Наверх | Cообщить модератору |
7. " Выпуск генератора лексических анализаторов re2c 3.0" | –9 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 09:49 | ||
В умелых руках goto, как правило, не нужен. Аккуратный структурный код, как правило, не требует goto. Если вы применяете goto, значит скорее всего вы говнокодер. Оператор goto применяется 1 раз в тысячу лет. | ||
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору |
9. " Выпуск генератора лексических анализаторов re2c 3.0" | +11 +/– | |
Сообщение от Аноним (9), 28-Янв-22, 09:50 | ||
Ты еще скажи в ассемблере jmp aka goto не нужен. | ||
Ответить | Правка | Наверх | Cообщить модератору |
12. " Выпуск генератора лексических анализаторов re2c 3.0" | –1 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 09:54 | ||
>Ты еще скажи в ассемблере jmp aka goto не нужен. | ||
Ответить | Правка | Наверх | Cообщить модератору |
15. " Выпуск генератора лексических анализаторов re2c 3.0" | –1 +/– | |
Сообщение от Анониим (?), 28-Янв-22, 10:10 | ||
Ты забыл упомянуть что можно реализовать при помощи оверхеда в том числе оверхеда на «безопасность». Тогда да. | ||
Ответить | Правка | Наверх | Cообщить модератору |
42. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 19:42 | ||
> Ты забыл упомянуть что можно реализовать при помощи оверхеда в том числе оверхеда на «безопасность». Тогда да. | ||
Ответить | Правка | Наверх | Cообщить модератору |
30. " Выпуск генератора лексических анализаторов re2c 3.0" | +8 +/– | |
Сообщение от Crazy Alex (ok), 28-Янв-22, 13:51 | ||
Это если бы в си были исключения с блоками finally или деструкторы. А так - последовательный клинап в конце функции с несколькими метками и выходы через goto в нужные точки - самый чистый вариант, который я с си видел. | ||
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору |
33. " Выпуск генератора лексических анализаторов re2c 3.0" | –3 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 14:00 | ||
>то если бы в си были исключения с блоками finally или деструкторы. | ||
Ответить | Правка | Наверх | Cообщить модератору |
35. " Выпуск генератора лексических анализаторов re2c 3.0" | +6 +/– | |
Сообщение от Ordu (ok), 28-Янв-22, 14:24 | ||
> Если вы применяете goto, значит скорее всего вы говнокодер. Оператор goto применяется 1 раз в тысячу лет. | ||
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору |
47. " Выпуск генератора лексических анализаторов re2c 3.0" | –2 +/– | |
Сообщение от Аноним (-), 29-Янв-22, 09:47 | ||
Тонко потроллить решил? Хорошо, отвественным ядрописателям goto разрешаю. Остальным говнокодерам не советую. | ||
Ответить | Правка | Наверх | Cообщить модератору |
49. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Ordu (ok), 29-Янв-22, 11:15 | ||
> Тонко потроллить решил? Хорошо, отвественным ядрописателям goto разрешаю. Остальным говнокодерам | ||
Ответить | Правка | Наверх | Cообщить модератору |
52. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от nvidiaamd (?), 29-Янв-22, 12:32 | ||
Видали хозяин пришел и нпм разрешил. Хуух. | ||
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору |
45. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Анончик (?), 28-Янв-22, 23:51 | ||
Я правильно понимаю что goto: 6,069 code results in freebsd/freebsd-src | ||
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору |
13. " Выпуск генератора лексических анализаторов re2c 3.0" | +2 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 09:56 | ||
Код должен быть прежде всего читабельным, и желательно суперөчитабельным. Это одно из основных правил программирования. | ||
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору |
16. " Выпуск генератора лексических анализаторов re2c 3.0" | +2 +/– | |
Сообщение от Анониим (?), 28-Янв-22, 10:12 | ||
Goto отлично ложится на концепцию блок схем. Итого для кодогенерации отличное решение. | ||
Ответить | Правка | Наверх | Cообщить модератору |
20. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (-), 28-Янв-22, 11:00 | ||
В теории всё хорошо. В эпоху расцвета процедурных языков 1960-80 гг., на практике, подавляющая часть программистов использовала опреатор goto как попало, и в те времена читать исходники было больно. Поэтому программисты тех времён - Вирт, Дейкстра, Хоар имеют стойкую неприязнь к goto. | ||
Ответить | Правка | Наверх | Cообщить модератору |
61. " Выпуск генератора лексических анализаторов re2c 3.0" | –1 +/– | |
Сообщение от wyry (?), 31-Янв-22, 03:30 | ||
> Код должен быть прежде всего читабельным, и желательно суперөчитабельным. Это одно | ||
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору |
63. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Урри (ok), 02-Фев-22, 12:53 | ||
Просто работающие проекты на С могут писать только осиляторы-профессионалы, а на джаве все кому не лень. Тут вот раст еще подъехал, так теперь (судя по комментариях на опеннете) кодить могут даже те, кто с одной извилиной. С соответствующей читабельностью, само собой. | ||
Ответить | Правка | Наверх | Cообщить модератору |
64. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от wyry (?), 02-Фев-22, 13:01 | ||
> Просто работающие проекты на С могут писать только осиляторы-профессионалы, а на джаве | ||
Ответить | Правка | Наверх | Cообщить модератору |
65. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Урри (ok), 02-Фев-22, 13:12 | ||
Пожалуй, я просто соглашусь. | ||
Ответить | Правка | Наверх | Cообщить модератору |
26. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Умпа (?), 28-Янв-22, 12:27 | ||
Прежде всего, должен быть суперчитаемым. | ||
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору |
43. " Выпуск генератора лексических анализаторов re2c 3.0" | +2 +/– | |
Сообщение от Аноним (43), 28-Янв-22, 22:44 | ||
А зачем облегчать жизнь работодателю? | ||
Ответить | Правка | Наверх | Cообщить модератору |
56. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (-), 30-Янв-22, 11:25 | ||
Люто бешено плюсую! Да! Пусть работодатель стардает! | ||
Ответить | Правка | Наверх | Cообщить модератору |
22. " Выпуск генератора лексических анализаторов re2c 3.0" | +7 +/– | |
Сообщение от Shatur (ok), 28-Янв-22, 11:09 | ||
В С goto часто применяется чтобы очистить память перед выходом из функции: https://github.com/neovim/neovim/blob/530c65b17ade3f5db70af5... | ||
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору |
32. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (9), 28-Янв-22, 13:53 | ||
Вроде это называется велосипед. | ||
Ответить | Правка | Наверх | Cообщить модератору |
34. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 14:21 | ||
Твоё решение ? В каждый чек повставлять не надо предлагать | ||
Ответить | Правка | Наверх | Cообщить модератору |
48. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (48), 29-Янв-22, 10:48 | ||
Встречалось применение goto в проектах на С только (!) в случаях, если алгоритмы были переведены (как правило, автоматически) с Фортрана. Это было вызвано нехваткой времени и специалистов на нормальное переписывание алгоритмов. | ||
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору |
50. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Shatur (ok), 29-Янв-22, 12:14 | ||
Я выше скинул пример который изначально писался на С. Я лично постоянно вижу такое в популярных проектах и это нормально. Вот вам пример с SDL еще: https://github.com/libsdl-org/SDL/blob/8b139e26a3d40b3590220... | ||
Ответить | Правка | Наверх | Cообщить модератору |
53. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (48), 29-Янв-22, 16:04 | ||
Посмотрел. Не могу одобрить вход в конструкцию помимо заголовка. Это некрасиво, а значит - противно С. С - прежде всего эстетика. | ||
Ответить | Правка | Наверх | Cообщить модератору |
55. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (48), 30-Янв-22, 09:12 | ||
Код ужасен. Авторы хоть один учебник по программированию видели? | ||
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору |
62. " Выпуск генератора лексических анализаторов re2c 3.0" | –1 +/– | |
Сообщение от wyry (?), 31-Янв-22, 03:35 | ||
> Код ужасен. Авторы хоть один учебник по программированию видели? | ||
Ответить | Правка | Наверх | Cообщить модератору |
44. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (44), 28-Янв-22, 23:45 | ||
Её используют и профессионалы - например в Brotli ( https://www.opennet.dev/opennews/art.shtml?num=43006 ) от Google | ||
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору |
51. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (-), 29-Янв-22, 12:26 | ||
Вы, похоже, писали всю жизнь на JS или расте, если не в курсе про то, что работа с ресурсами адекватнее всего делается именно на goto. | ||
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору |
54. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (48), 29-Янв-22, 16:07 | ||
Не правы. Когда я начинал с С, упомянутые Вами еще не были изобретены. | ||
Ответить | Правка | Наверх | Cообщить модератору |
4. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (4), 28-Янв-22, 09:39 | ||
Это шутка типа рагеля? Им можно парсер http протокола замутить? | ||
Ответить | Правка | Наверх | Cообщить модератору |
17. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (17), 28-Янв-22, 10:15 | ||
Лексер можно, парсер придется писать или генерить чем-то другим | ||
Ответить | Правка | Наверх | Cообщить модератору |
19. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от skvadrik (ok), 28-Янв-22, 10:37 | ||
Вот есть пример: https://re2c.org/examples/c/submatch/example_http_rfc7230.html. Это в оригинале бенчмарк для тэгов, но можно подпилить (сделан по RFC). Парсить можно в смысле выделения подстрок (в примере для этого используются тэги: https://re2c.org/manual/manual_c.html#submatch-extraction). | ||
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору |
21. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (4), 28-Янв-22, 11:00 | ||
Спасибо. Думаю, посмотрю на проект, т.к. рагель в стагнации, а эта штука развивается. | ||
Ответить | Правка | Наверх | Cообщить модератору |
25. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (9), 28-Янв-22, 12:25 | ||
Если что тесты от производителя всегда дутое фуфло. Надо или смотреть «независимых» оценщиков или делать тесты самому на своих задачах. | ||
Ответить | Правка | Наверх | Cообщить модератору |
5. " Выпуск генератора лексических анализаторов re2c 3.0" | –1 +/– | |
Сообщение от Аноним (5), 28-Янв-22, 09:46 | ||
Топикстартер, ты не можешь на ЛОР заглянуть? Там твою новость ошибочно удалили, приняв за копипасту с опеннета, сильно извиняются и просят пойти навстречу. | ||
Ответить | Правка | Наверх | Cообщить модератору |
8. " Выпуск генератора лексических анализаторов re2c 3.0" | +6 +/– | |
Сообщение от Аноним (9), 28-Янв-22, 09:49 | ||
Никогда нельзя идти на встречу дуракам. Это провоцирует дураков оставаться дураками. | ||
Ответить | Правка | Наверх | Cообщить модератору |
14. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 10:01 | ||
Так на ЛОРе исторически копировали новости с опеннета. Сейчас, что не так? | ||
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору |
18. " Выпуск генератора лексических анализаторов re2c 3.0" | +3 +/– | |
Сообщение от skvadrik (ok), 28-Янв-22, 10:20 | ||
Спасибо! Вежиливые люди на ЛОРе. | ||
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору |
23. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от самокатофил (?), 28-Янв-22, 11:47 | ||
>The new approach is different enough to require multiple changes in code generation. In loop-switch mode it is impossible to jump into the middle of a state bypassing the skip statement, so the --eager-skip option is enforced, which moves skip statements to transitions. With conditions it is impossible to jump between different blocks, so DFAs for all conditions are merged into one switch, and condition numbers are the indices of the initial DFA states. In storable state mode it is impossible to jump from the YYGETSTATE switch to a DFA state, therefore a separate getstate:re2c detached from the lexer block is not supported. | ||
Ответить | Правка | Наверх | Cообщить модератору |
36. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Ordu (ok), 28-Янв-22, 14:31 | ||
Это не растоманы внесли. У растоманов есть rust-peg, есть pest, есть nom... зачем нам нужен re2c, перемешивающий декларации грамматики с кодом, который работает с грамматикой? Да ещё и не средствами языка, а комментами? | ||
Ответить | Правка | Наверх | Cообщить модератору |
37. " Выпуск генератора лексических анализаторов re2c 3.0" | +2 +/– | |
Сообщение от самокатофил (?), 28-Янв-22, 15:03 | ||
> Это не растоманы внесли. | ||
Ответить | Правка | Наверх | Cообщить модератору |
39. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Ordu (ok), 28-Янв-22, 15:27 | ||
> уболтали авторов а сами в закат? :) | ||
Ответить | Правка | Наверх | Cообщить модератору |
38. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от skvadrik (ok), 28-Янв-22, 15:08 | ||
За старый кодогенератор можно не переживать, он как был так и остался (включен по умолчанию для C, С++ и Go). Просто есть новая опция теперь. | ||
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору |
40. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от Аноним (-), 28-Янв-22, 18:41 | ||
при генерации на раст обеспечивается безопасность методом unsafe? | ||
Ответить | Правка | Наверх | Cообщить модератору |
41. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от skvadrik (ok), 28-Янв-22, 19:19 | ||
По умолчанию только операция чтения символа подразумевает unsafe, поскольку ей надо отключать проверку на выход за границы (лексер эти проверки делает сам и более эффективным способом). Но это необязательно, можно отключить опцией `--no-unsafe` или конфигурацией `re2c:unsafe` и будет всё safe. Можно и наоборот, другие базовые операции обернуть в unsafe. | ||
Ответить | Правка | Наверх | Cообщить модератору |
57. " Выпуск генератора лексических анализаторов re2c 3.0" | +1 +/– | |
Сообщение от adolfus (ok), 31-Янв-22, 00:51 | ||
"конечный автомат представлен в виде цикла и переменной-состояния" | ||
Ответить | Правка | Наверх | Cообщить модератору |
60. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (60), 31-Янв-22, 02:37 | ||
>в автокад ЯП завезли на замену скобочного говна | ||
Ответить | Правка | Наверх | Cообщить модератору |
66. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от adolfus (ok), 02-Фев-22, 22:42 | ||
>>в автокад ЯП завезли на замену скобочного говна | ||
Ответить | Правка | Наверх | Cообщить модератору |
58. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (58), 31-Янв-22, 01:55 | ||
> Rust ... конечный автомат представлен в виде цикла и переменной-состояния | ||
Ответить | Правка | Наверх | Cообщить модератору |
59. " Выпуск генератора лексических анализаторов re2c 3.0" | +/– | |
Сообщение от Аноним (60), 31-Янв-22, 02:35 | ||
Какое же дерьмо этот re2c... Ни AST не строит, ни грамматику нормально не представляет. | ||
Ответить | Правка | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |