sdl_dart 1.0.2

Dart native js
Flutter Android iOS web

Dart Implementation of SDLang

SDLang-Dart Build Status #

Simple Declarative Language (SDL) for Dart

SDLang is a simple and concise way to textually represent data. It has an XML-like structure – tags, values and attributes – which makes it a versatile choice for data serialization, configuration files, or declarative languages. Its syntax was inspired by the C family of languages (C/C++, C#, D, Java, …).

Details

sdl-dart is built with highly-efficient parser combinators - easy to read, very fluid, and LL(infinity).

How to use #

import 'package:sdl_dart/sdl_dart.dart';

void main() {
    // ...

    final sdl = new SDLangParser();
    final result = sdl.parse(source);

    print(result.value);
}

Example #

    // This is a node with a single string value
    title "Hello, World"

    // Multiple values are supported, too
    bookmarks 12 15 188 1234

    // Nodes can have attributes
    author "Peter Parker" email="peter@example.org" active=true

    // Nodes can be arbitrarily nested
    contents {
        section "First section" {
            paragraph "This is the first paragraph"
            paragraph "This is the second paragraph"
        }
    }

    // Anonymous nodes are supported
    "This text is the value of an anonymous node!"

    // This makes things like matrix definitions very convenient
    matrix {
        1 0 0
        0 1 0
        0 0 1
    }

Produces this metadata tree.

Not implemented #

* 128 bit decimal
* utf8 support

License #

Apache License 2.0.