Unicode.Transform.Parser (Unicode Transform v1.1.0)

Copy Markdown View Source

Parses CLDR transform rule text into structured rule types.

The parser handles the five rule types defined by the CLDR specification:

  • Comment rules — lines starting with #.

  • Filter rules — :: [unicode_set] ;.

  • Transform rules — :: transform_name ;.

  • Variable definition rules — $var = value ;.

  • Conversion rules — with , , or operators.

Summary

Functions

Parses a complete rule text string into a list of rule structs.

Parses a single rule string into a rule struct.

Functions

parse(rule_text)

@spec parse(String.t()) :: [struct()]

Parses a complete rule text string into a list of rule structs.

Arguments

  • rule_text — the raw rule text from a CLDR transform XML file.

Returns

A list of rule structs.

parse_rule(rule_string)

@spec parse_rule(String.t()) :: struct() | nil

Parses a single rule string into a rule struct.

Arguments

  • rule_string — a single rule line.

Returns

A rule struct or nil for empty/unparseable lines.