Default implementation for the dialect service. It is mostly generic, but contains some logic for .meta files, which are Spoofax-specific. A dialect is simply a language implementation, with a single component, that mimics its base language, but has a different name and a few different facets. Dialects are created by copying over all facets from a language implementation into a new language implementation, except that:
ResourceExtensionFacet: removed to prevent dialects from overriding an extension of the base language.
IdentificationFacet: wrapped by
MetaFileIdentifiersuch that files without a corresponding .meta file do not identify to the dialect.
SyntaxFacet: replaced by the dialect’s syntax facet that uses a different parse table.