{'fraction_non_alphanumeric': 0.018161180476730987, 'fraction_numerical': 0.0, 'mean_word_length': 5.631578947368421, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A pattern-based approach to DSL development

Tool support for the development of Domain-specific Languages (DSLs) is continuously increasing. This reduces implementation effort for DSLs and enables the development of rather complex languages within reasonable amounts of time. However, the lack of commonly agreed and applied language engineering processes, many times turns DSL development into a set of creative activities, whose outcomes depend on the experience of the developers involved. Consequently, outcomes of language engineering activities are unpredictable with respect to their quality, and are often not maintainable either. We have therefore developed an approach that transfers the concept of architecture and design patterns from software engineering to language development. In this paper, we propose this approach and evaluate its applicability in a case study.