home.social

#abstract_syntax_tree — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #abstract_syntax_tree, aggregated by home.social.

  1. [Перевод] Сжатые структуры данных

    Введение Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество 1 . Я обнаружил статью, написанную пятнадцать лет назад 2 , в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться. Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science. Этот преподаватель ( Гонсало Наварро ) очень тепло меня принял и сразу же ответил мне 3 4 . И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области сжатых структур данных (succinct data structure). Невежество может завести очень далеко. Что же такое сжатые структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами. Все мы пользуемся массивами и хэш-таблицами 5 , популярны также различные деревья. Нам не нужно полностью понимать их устройство, чтобы эффективно пользоваться их свойствами. А теперь я задаюсь вопросом, почему же люди не используют сжатые структуры данных чаще. Я решил, что стоит немного о них рассказать.

    habr.com/ru/companies/ruvds/ar

    #xml #json #деревья #abstract_syntax_tree #ast #днк #сжатие_данных #ruvds_переводы

  2. [Перевод] Сжатые структуры данных

    Введение Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество 1 . Я обнаружил статью, написанную пятнадцать лет назад 2 , в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться. Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science. Этот преподаватель ( Гонсало Наварро ) очень тепло меня принял и сразу же ответил мне 3 4 . И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области сжатых структур данных (succinct data structure). Невежество может завести очень далеко. Что же такое сжатые структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами. Все мы пользуемся массивами и хэш-таблицами 5 , популярны также различные деревья. Нам не нужно полностью понимать их устройство, чтобы эффективно пользоваться их свойствами. А теперь я задаюсь вопросом, почему же люди не используют сжатые структуры данных чаще. Я решил, что стоит немного о них рассказать.

    habr.com/ru/companies/ruvds/ar

    #xml #json #деревья #abstract_syntax_tree #ast #днк #сжатие_данных #ruvds_переводы

  3. [Перевод] Сжатые структуры данных

    Введение Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество 1 . Я обнаружил статью, написанную пятнадцать лет назад 2 , в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться. Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science. Этот преподаватель ( Гонсало Наварро ) очень тепло меня принял и сразу же ответил мне 3 4 . И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области сжатых структур данных (succinct data structure). Невежество может завести очень далеко. Что же такое сжатые структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами. Все мы пользуемся массивами и хэш-таблицами 5 , популярны также различные деревья. Нам не нужно полностью понимать их устройство, чтобы эффективно пользоваться их свойствами. А теперь я задаюсь вопросом, почему же люди не используют сжатые структуры данных чаще. Я решил, что стоит немного о них рассказать.

    habr.com/ru/companies/ruvds/ar

    #xml #json #деревья #abstract_syntax_tree #ast #днк #сжатие_данных #ruvds_переводы

  4. [Перевод] Сжатые структуры данных

    Введение Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество 1 . Я обнаружил статью, написанную пятнадцать лет назад 2 , в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться. Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science. Этот преподаватель ( Гонсало Наварро ) очень тепло меня принял и сразу же ответил мне 3 4 . И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области сжатых структур данных (succinct data structure). Невежество может завести очень далеко. Что же такое сжатые структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами. Все мы пользуемся массивами и хэш-таблицами 5 , популярны также различные деревья. Нам не нужно полностью понимать их устройство, чтобы эффективно пользоваться их свойствами. А теперь я задаюсь вопросом, почему же люди не используют сжатые структуры данных чаще. Я решил, что стоит немного о них рассказать.

    habr.com/ru/companies/ruvds/ar

    #xml #json #деревья #abstract_syntax_tree #ast #днк #сжатие_данных #ruvds_переводы

  5. Синтаксический анализатор — модифицированный Shunting Yard

    Алгоритм синтаксического анализа кода на основе Shunting Yard — скажем "нет" рекурсии Преимущество модифицированного Shunting Yard над рекурсивным спуском заключается в его способности эффективно работать с более сложными синтаксическими конструкциями и грамматиками, которые не поддерживаются рекурсивным спуском. Благодаря использованию стеков для управления состояниями и операторами, алгоритм избегает проблем с глубокой рекурсией и может обрабатывать конструкции, требующие динамического изменения контекста. Это делает его более универсальным и производительным решением для построения абстрактного синтаксического дерева (AST) без ограничений на тип грамматик, характерных для рекурсивного спуска.

    habr.com/ru/articles/844252/

    #анализатор_кода #парсер #компилятор #интерпретатор #алгоритм #shunting_yard #дейкстра #ast #abstract_syntax_tree