Warsztat językowy
Środowisko językowe to narzędzie lub zestaw narzędzi, które umożliwiają tworzenie oprogramowania w paradygmacie programowania zorientowanego na język . Środowisko językowe zazwyczaj zawiera narzędzia wspierające definiowanie, ponowne wykorzystywanie i komponowanie języków specyficznych dla domeny wraz z ich zintegrowanym środowiskiem programistycznym . Warsztaty językowe zostały wprowadzone i spopularyzowane przez Martina Fowlera w 2005 roku.
Środowisko pracy językowej zazwyczaj obsługuje:
- Specyfikacja pojęć językowych lub metamodelu
- Specyfikacja środowisk edycyjnych dla języka specyficznego dla domeny
- Specyfikacja semantyki wykonania, np. poprzez interpretację i generowanie kodu
Przykłady
- Racket to wieloplatformowe środowisko programistyczne do programowania języków, w tym kompilator, kompilator JIT, IDE i narzędzia wiersza poleceń zaprojektowane do tworzenia zarówno języków specyficznych dla domeny, jak i całkowicie nowych języków z funkcjami dodawania nowej notacji, konstrukcji ograniczających i tworzenia narzędzi IDE.
- JetBrains MPS to narzędzie do projektowania języków specyficznych dla domeny. Wykorzystuje edycję projekcyjną, która pozwala pokonać ograniczenia parserów językowych i zbudować edytory DSL, takie jak te z tabelami i diagramami. Implementuje programowanie zorientowane na język. MPS łączy w sobie środowisko do definiowania języka, warsztat językowy i zintegrowane środowisko programistyczne (IDE) dla takich języków.
- Kermeta to akademickie środowisko pracy z językami typu open source. Środowisko pracy Kermeta wykorzystuje trzy różne metajęzyki: jeden metajęzyk dla składni abstrakcyjnej (dopasowany do Emof ); jeden dla semantyki statycznej (dopasowany do OCL ) i jeden dla semantyki behawioralnej (nazywany samym językiem Kermeta).
- Melange to środowisko językowe, które zapewnia modułowe podejście do dostosowywania, składania i integrowania wielu specyfikacji i implementacji języka specyficznego dla domeny (DSL).
- Fałszerstwo. jest środowiskiem roboczym języka open source do generowania parserów, kontrolerów typów, kompilatorów, tłumaczy, a także wtyczek IDE dla Eclipse i IntelliJ . Używa SDF i parsera GLR bez skanera dla składni i formalizmów pochodzących ze Stratego/XT dla semantyki.
- Xtext to platforma oprogramowania typu open source do opracowywania języków programowania i języków specyficznych dla domeny (DSL). W przeciwieństwie do standardowych generatorów parserów, Xtext generuje nie tylko parser, ale także model klasy dla abstrakcyjnego drzewa składniowego. Ponadto zapewnia w pełni funkcjonalne, konfigurowalne IDE oparte na Eclipse.
- Meeduse to framework oparty na EMF, który pozwala budować, sprawdzać i animować wykonywalne języki specyficzne dla domeny (xDSL) przy użyciu metody B. Narzędzie osadza ProB oraz animator i sprawdzanie modeli metody B.
Zobacz też
- Programowanie zorientowane na język
- Kompilator-kompilator
- Celowe programowanie
- Kategoria: Warsztaty językowe
Linki zewnętrzne
- Martin Fowler, warsztat językowy
- Wyzwanie warsztatu językowego