Search code examples
dslpharo

Helvetia LBChange


What is the LBChange used for in Helvetia? I see that in every language box there is one #change: which returns a new LBChange.


Solution

  • The language change is used to encapsulate a local grammar adaption applied to the grammar of the host language. In our case a language extension is defined as a grammar fragment and a specification of how this fragment is composed with the grammar of the host language.

    For a detailled explanation see "Chapter 5.2.1 Language Change" in my PhD Thesis.