#ast

2025-05-27

[Перевод] Выравнивание AST (и других структур данных, используемых при работе с компилятором)

Два варианта абстрактного синтаксического дерева (AST) для выражения a * b + c. Арены, также называемые регионами, повсюду встречаются в современных языках программирования. Есть такая разновидность арен, которая одновременно супер-проста и удивительно эффективна при работе с компиляторами и тому подобными инструментами. Может быть, именно по причине такой простоты эта элементарная техника не попадалась мне во многих курсах по компиляторам — и вообще в теоретическом минимуме по информатике, если уж на то пошло. В этом посте я познакомлю вас с этой идеей, а также с её многочисленными достоинствами. Многие по-разному понимают, что такое арены или регионы , поэтому здесь я собираюсь называть интересующую меня разновидность этих структур данных « выровненной », а сам процесс — « выравниванием » (flattening). Выровненная арена содержит всего один тип, то есть, в сущности, это обычный массив. В таком массиве можно обойтись индексами, тогда как обычно для работы с массивом требуются указатели. Здесь мы поговорим, прежде всего, о выравнивании абстрактных синтаксических деревьев (AST), но вообще описанная идея применима с любой структурой данных, отягощённой указателями. Чтобы изучить выравнивание, мы дважды напишем простейший интерпретатор: сначала как обычно, а затем с применением выравнивания. Логика поста прослеживается по коду из этого репозитория , где можно сравнить две ветки . Здесь важнее всего отметить, что изменения минимальны, но при этом микробенчмарки показывают, что после выравнивания код работает в 2,4 раза быстрее. Благодаря выравниванию не только повышается производительность, но и сам код становится эргономичнее, на чём я также остановлюсь.

habr.com/ru/articles/913408/

#AST #работа_с_памятью #оптимизация

2025-05-25

sometimes your metaprogramming radar misses some nice stuff

pybowler.io/

(and similarly github.com/facebookarchive/cod)

2025-05-25
With extra time off on #Sunday today I took a walk in a neck of the city woods I had never been to. When I bring the dog next time it shall be even more fun, even if there's a #log blocking the path we'd need to climb over here and there. :) #treetrunk #treetrunks #treetrunktuesday #wald #ast #morethanjustdeadwood #sundaywalkwithfriends
On a path in a dense part of the woods a long thick branch lies such that it is blocking the easy way forward. The close end of the now dead trunk points to near the camera position, the end in the bushes, while the far end sits next to the tree it fell down from, several metres high up. It looks kind of fresh, as if the split has just been several days ago. The sky visible is pale and overcast.
2025-05-21

Среда выполнения JavaScript простым языком: движок, Event Loop и очереди задач

Привет, с вами снова я – Дмитрий, React-разработчик, хотелось бы сегодня затронуть тему среды выполнения JS. Многие знают, другие уже подзабыли, а новички — вовсе не в курсе. В общем, эта статья точно найдёт своих читателей. Постараюсь простыми словами и по делу.

habr.com/ru/companies/gnivc/ar

#js #javascript #react #начинающим #runtime #ast #среда_выполнения_javascript #среда_выполнения #eventloop #callstack

2025-05-19

Обратная сторона Babel: как микроскопические языки помогают в изучении больших

В этой статье рассказывается, как крошечные, экспериментальные языки программирования, размером порой меньше 100 строк, могут неожиданным образом углубить понимание сложных промышленных языков. Будет показано, как микроязыки раскрывают суть концепций, скрытых в слоистых абстракциях Java, Rust или C++. Много примеров, кода и немного лирики.

habr.com/ru/articles/910864/

#микроязыки #миниязыки #ast #компилятор #парсинг #интерпретатор #обучение #языковая_архитектура

Emmanuel Veneau 📸emmanuel_veneau@photog.social
2025-05-19

Here. Saint-Claude, France, August 2024.
📷 Emmanuel Veneau #AmbulationsPhotographiques #AsT
#photography #photographie
#StreetPhotography #PhotographieDeRue

Stadium bleachers and running tracks seen from above. On the benches, crosses in yellow paint and a woman dressed in blue.
2025-05-15

В поисках хорошего стиля. Часть 2. Пишем свой линтер на Go для golangci-lint

Привет! Меня зовут Артём Блохин, я Go-разработчик в команде интеграций Островка. Сегодня поговорим о линтинге кода. Если бы «Сумерки» были про код, Эдвард — был линтером, а Белла — легаси-кодом, их диалог звучал бы так:

habr.com/ru/companies/ostrovok

#golang #golangcilint #линтер #статический_анализ #анализ_кода #ast #чистый_код #островок #styleguide #плагины

genomiRXGenomiRX
2025-05-08

genomirx.com/shop/thermo-scien
Thermo Scientific‚Sensititre‚ Complete Automated AST System YV3000VZ @thermofisher @GenomiRX

2025-05-05

An I/O PLUS II card by #AST. Quite odd in that it allows not only to use #PC joysticks, but also ones made for the #Apple II with a DIP socket.

Currently making pictures of odd cards like this in order to document them and provide the pics to #TRW.

#RetroComputing #RetroGaming

AST I/O PLUS II
2025-05-04

Such a great article about type systems

alhassy.com/TypedLisp.html

2025-04-17

О чем на этот раз будет Python Day на Positive Hack Days

24 мая в рамках

habr.com/ru/companies/pt/artic

#phdays #python #cpython #ast #nogil #vscode #ide #pygame #wasm

2025-04-07

«Клюква» — автоматизация документации проектов на Python

Привет! Меня зовут Алексей Фоменко. Я разработчик из Нижнего Новгорода. Сегодня хочу рассказать вам о своем сервисе «Клюква» . «Развесистая клюква» или просто «Клюква» в общем виде означает ложные или искаженные представления о чем‑либо. Как раз здесь мы приходим к написанию документации. К сожалению, составить и поддерживать документацию в актуальном состоянии — это проблема. Скорее всего проблема в том числе и в вашей компании.

habr.com/ru/articles/898182/

#python #документация #ast #uml #llm #langchain #pycharm #ai_assistant

2025-03-30

Frustrating display by #lfc.
Two errors led to Villa's goals, however, Villa where the better team in the second half. Liverpool seemed to fade from the 70-ish minute mark.

#lfc 1-2 #ast

Onwards...

#fedifc #wsl

2025-03-30

Own goal after gives #villa the lead with 10mins left.
😞
#lfc 1-2 #ast

#wsl #fedifc

2025-03-30

Goalkeeper error - Laws came out to far and #villa get the equaliser.

#lfc 1-1 #ast

#wsl #fedifc

2025-03-30

Lovely penalty. Sent the keeper the wrong way and gently rolled it into the corner.

#lfc 1-0 #ast

#fedifc #wsl

2025-03-25

Surface Water and Ocean Topography (SWOT) Vertical Gravity Gradient ☀️✨🛰️🪐

#Animation #Ast #Astrobiology #Astrophysics #BlackHole #Carbon #Corona #CoronalMassEjections

⏩ 4 new pictures and 4 new videos from NASA (SVS) commons.wikimedia.org/wiki/Spe

Largest_Organics_Yet_Discovered_on_Mars_(SVS14808_-_Mars_Large_Organics_Thumbnail_V4).jpgLargest_Organics_Yet_Discovered_on_Mars_(SVS14808_-_NASA-Mars-Hydrocarbons-2025-Small).jpgTesting_AstroPix,_A_New_Gamma-Ray_Detector_(SVS14809_-_Daniel_Violette_Astep-1).jpgTesting_AstroPix,_A_New_Gamma-Ray_Detector_(SVS14809_-_Adrien_Laviron_1).jpg

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst