A language workbench[1][2] is a tool or set of tools that enables software development in the language-oriented programming[2] software development paradigm. A language workbench will typically include tools to support the definition, reuse and composition of domain-specific languages together with their integrated development environment. Language workbenches were introduced and popularized by Martin Fowler in 2005.

Language workbenches usually support:[1]

Examples

See also

References

  1. ^ a b Fowler, Martin. "LanguageWorkbench". Retrieved 14 April 2015.
  2. ^ a b Fowler, Martin (12 June 2005). "Language Workbenches: The Killer-App for Domain Specific Languages?". Retrieved 14 April 2015.
  3. ^ Feltey, Daniel; Florence, Spencer P.; Knutson, Tim; St-Amour, Vincent; Culpepper, Ryan; Flatt, Matthew; Findler, Robert Bruce; Felleisen, Matthias (2016). "Languages the Racket Way" (PDF). 2016 Language Workbench Challenge (65). Retrieved 9 June 2019.
  4. ^ Tobin-Hochstadt, S.; St-Amour, V.; Culpepper, R.; Flatt, M.; Felleisen, M. (2011). "Languages as Libraries" (PDF). Programming Language Design and Implementation.
  5. ^ Flatt, Matthew (2012). "Creating Languages in Racket". Communications of the ACM. Retrieved 2012-04-08.
  6. ^ "JetBrains MPS: Domain-Specific Language Creator".
  7. ^ "Melange".
  8. ^ "The Spoofax Language Workbench".
  9. ^ Kats, Lennart C. L.; Visser, Eelco (2010). "The Spoofax language workbench: rules for declarative specification of languages and IDEs.". Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010. doi:10.1145/1869459.1869497.
  10. ^ "Xtext".
  11. ^ Idani, Akram; Ledru, Yves; Vega, German (December 2020). "Alliance of Model Driven Engineering with a proof-based Formal Approach". Innovations in Systems and Software Engineering (ISSE), NASA Journal. 6 (3): 289–307. doi:10.1007/s11334-020-00366-3.
  12. ^ "Meeduse".