valkyrie-antlr 0.0.1

The hand write parser of valkyrie language
Documentation
// normal arguments
f();
f(1);
f(k: 1);
f(null, a: 1, ..args, ...kwargs)

// Curry function
f()(1)(1, 2)(1, 2, 3);

// Dot call
a.b;
a.b();
a.b.c();
a(1).b(1)(2).b(1)(2)(3);

a::b::c
a::b::c()

a::b.c
a::b.c()

a.b::c
a.b::c()

a.b.c
// a.(b.c)
a.b.c()
a.b().c()
a().b().c()

label.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate(
    label.topAnchor.constraint(
        equalTo: button.bottomAnchor,
        constant: 20
    ),
    label.leadingAnchor.constraint(
        equalTo: button.leadingAnchor
    ),
    label.widthAnchor.constraint(
        lessThanOrEqualTo: view.widthAnchor,
        constant: -40
    )
)
label.layout {
    lambda(i: int)
    $0.top == button.bottomAnchor + 20
    $0.leading == button.leadingAnchor
    $0.width <= view.widthAnchor - 40
}

scope {
    for a in b {
        yield a
    }
}