Erbsland Configuration Language

The Erbsland Configuration Language (ELCL) is a human-centric configuration format designed with a focus on clarity and ease of use. ELCL simplifies software configuration, making it intuitive for both developers and end-users.

_images/intro-code-example.svg

Where to Start?

Short on time?

Check out the Language Overview for a quick introduction →

Looking for more details?

Read the comprehensive Introduction to get started →

Implementing a parser?

Find all details in the Language Reference chapter →

Design Rationale and Key Features

ELCL balances the flexibility required for human users to freely edit configuration documents and add comments, with the technical needs for strict and straightforward parsing. The language is designed to be familiar and easy to learn, enabling developers to quickly adopt it. Some of the main features include:

Simplicity

ELCL offers an intuitive syntax with built-in type safety, minimizing common configuration errors.

Language Overview
Safety

The language supports strict and safe parsers, ensuring robust and secure configurations.

Introduction
Comprehensive Documentation

Detailed specifications, along with user and developer guides, make ELCL easy to understand and implement.

Language Reference
Reference Implementations

Available for Python and C++, these implementations help integrate ELCL into your application or serve as examples for writing your own parser.

Parser Implementations
Compliance Test Suite

An extensive test suite ensures that parsers conform to the ELCL specification, fostering reliable and consistent implementations.

The Test Suite
Implementation Levels

ELCL supports various implementation levels, from lightweight micro-parsers for resource-constrained environments to full-featured parsers for complex use cases.

Parser Tiers
Metadata Support

Metadata statements allow you to specify language versions and required features, ensuring backward compatibility and future-proofing.

Meta Values and Commands
Validation Rules

A standardized mini-language for validating configuration documents, ensuring data integrity and adherence to application-specific constraints.

Validation Rules

Table of Contents

Dictionaries