Mau.Parser.Literal (mau v0.8.0)

View Source

Literal value parsing for the Mau template engine.

Handles parsing of:

  • String literals with escape sequences
  • Number literals (integers, floats, scientific notation)
  • Boolean literals (true, false)
  • Null literals (null)
  • Atom literals (:atom_name)
  • Whitespace parsing utilities

Summary

Functions

Parses array literals.

Parses atom literals.

Parses boolean literals with word boundary checking.

Parses null literal with word boundary checking.

Parses number literals including integers, floats, and scientific notation.

Parses optional whitespace (spaces, tabs, newlines, carriage returns).

Parses required whitespace (at least one space or tab).

Parses string literals with single or double quotes.

Functions

array_literal(expression_parser)

Parses array literals.

Array literals use square brackets and contain comma-separated expressions. This combinator requires a parsec reference to the expression parser from the main Parser module.

Examples

* `[]`
* `[1, 2, 3]`
* `["a", "b", "c"]`
* `[user.name, user.email]`

atom_literal()

Parses atom literals.

Examples

* `:atom_name`
* `:key`

boolean_literal()

Parses boolean literals with word boundary checking.

Examples

* `true`
* `false`

null_literal()

Parses null literal with word boundary checking.

Examples

* `null`

number_literal()

Parses number literals including integers, floats, and scientific notation.

Supports negative numbers.

Examples

* `42`
* `3.14`
* `-123`
* `1.23e-4`
* `42E+10`

optional_whitespace()

Parses optional whitespace (spaces, tabs, newlines, carriage returns).

required_whitespace()

Parses required whitespace (at least one space or tab).

string_literal()

Parses string literals with single or double quotes.

Supports escape sequences including Unicode.

Examples

* `"hello world"`
* `'single quoted'`
* `"escaped \"quotes\""`
* `"unicode \u0041"`