Langium — инструмент для языкового моделирования

Разработка собственных языков и языковых серверов может быть сложной и рутинной задачей. Langium — инструмент на TypeScript, который упрощает создание предметно‑ориентированных языков (DSL) с готовым LSP‑сервером. Меня зовут Денис Маматин, я работаю в R&D‑отделе СберТеха. В ходе разработки одного из наших проектов мы столкнулись с необходимостью создания собственного DSL, и в этом нам существенно помог Langium. В этой статье я рассмотрю, как устроена грамматика Langium, как создать первый проект и какие преимущества он даёт разработчику.

https://habr.com/ru/articles/985220/

#dsl #langium #языковое_моделирование

Langium — инструмент для языкового моделирования

Разработка собственных языков и языковых серверов может быть сложной и рутинной задачей. Langium — инструмент на TypeScript, который упрощает создание предметно‑ориентированных языков...

Хабр

[Перевод] Каково это, создавать язык программирования сегодня?

«Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book . Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул. Вышла эта книжка в 1986 году. В те времена создание компиляторов было крайне сложной задачей, требовавшей обладания различными навыками в области компьютерных наук в целом и программирования в частности. Теперь, почти четыре десятилетия спустя, этой задачей занимаюсь я. Насколько сложна она сегодня? Приглашаю вместе разобрать процесс создания языка и посмотреть, насколько современные инструменты его упростили.

https://habr.com/ru/companies/ruvds/articles/790868/

#ruvds_перевод #программирование #разработка_языков_программирования #компиляторы #zmodel #langium

Каково это, создавать язык программирования сегодня?

«Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book . Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре...

Хабр

Great day for the #langium project!

- GitHub repo moved to https://github.com/eclipse-langium
- v1.3.0 is released
- v2.0.0 is released

Join the next level of language engineering!

Eclipse Langium

Eclipse Langium has 2 repositories available. Follow their code on GitHub.

GitHub

A new showcase for #Langium is available: MiniLogo is a DSL for drawing on a canvas. It's interpreted live on the Langium website (running fully in the browser).

https://langium.org/showcase/minilogo/

Langium

Langium is an open source language engineering tool with first-class support for the Language Server Protocol, written in TypeScript and running in Node.js.

Langium

📣 Exciting News! #Langium is taking a significant step forward by submitting a new project proposal at the Eclipse Foundation. Read our latest blog post to learn more about this open governance move.

https://www.typefox.io/blog/open-governance-for-langium

#Collaboration #CommunityDriven #OpenGovernance #OpenSource #LanguageEngineering #LanguageToolkit

Open Governance for Langium

This is an exciting moment for the Langium project. In just a short time, we have achieved significant milestones. We kicked off Langium in…

#Langium has a new online showcase: after the state machine, we just added a second example DSL for arithmetic calculations. Try it right in your browser – the text editor is backed by a Langium-based language server running in a web worker.
https://langium.org/showcase/arithmetics/
Langium

Langium is an open source language engineering tool with first-class support for the Language Server Protocol, written in TypeScript and running in Node.js.

Langium

📢 #Langium 1.0 is released!

After almost two years of hard work, we lifted this language toolkit to the level of maturity. Read our blog post to learn more:
https://www.typefox.io/blog/langium-1.0-a-mature-language-toolkit

Langium 1.0: A Mature Language Toolkit

Langium is a toolkit for domain-specific languages (DSLs) that is fully built with TypeScript. It provides a text parser with integrated…

#Langium release 1.0 is coming later this month! As we approach that, we have great stuff to announce (2/2).

The main Langium contributor
Mark Sujew implemented the ALL(*) lookahead algorithm for the Chevrotain parser library. This means that Langium grammars now have a similar expressivity as ANTLR 4, but natively in TypeScript!

https://www.typefox.io/blog/allstar-lookahead

ALL(*) Lookahead in Langium

The original paper about the ALL( * ) lookahead has been released in 2014. Even though it features the most powerful LL-style lookahead…

#Langium release 1.0 is coming later this month! As we approach that, we have great stuff to announce (1/2).

The long-time Xtext committer
Dennis Hübner created a tool to migrate an Xtext grammar and related EMF metamodels to Langium. Of course it won't translate your Java or Xtend code to TypeScript, but it's a great way to kick-start your Langium project.

https://www.typefox.io/blog/xtext-to-langium

Xtext to Langium

Web applications have become firmly established in many areas of software development. This is also true for domain-specific languages…

RT @[email protected]

#Langium now supports language servers in the web browser! This is a huge step because it enables smart text editors for a DSL, embedded in a web app, without the need for costly backend infrastructure.

Read more details in my latest blog post:
https://www.typefox.io/blog/langium-web-browser

Langium in the Web Browser

We announced Langium as a language engineering framework for Node.js a year ago. But the case for running language servers in the web…