Packages

ex_cldr

0.0.4
2.47.5 2.47.4 2.47.3 2.47.2 2.47.1 2.47.0 2.46.0 2.45.2 2.45.1 2.45.0 2.44.1 2.44.0 2.43.2 2.43.1 2.43.0 2.42.0 2.41.1 2.41.0 2.40.4 2.40.3 2.40.2 2.40.1 2.40.0 2.39.2 2.39.1 2.39.0 2.38.1 2.38.0 2.37.5 2.37.4 2.37.3 retired 2.37.2 2.37.1 2.37.0 2.36.0 2.35.1 2.35.0 retired 2.34.2 2.34.1 2.34.0 2.33.2 2.33.1 2.33.1-rc.0 2.33.0 2.32.1 2.32.0 2.31.0 2.30.0 2.29.0 2.28.0 2.27.1 2.27.0 retired 2.26.3 2.26.2 2.26.1 2.26.0 2.25.0 2.24.2 2.24.1 2.24.0 2.24.0-rc.6 2.24.0-rc.5 2.24.0-rc.4 2.24.0-rc.3 2.24.0-rc.2 2.24.0-rc.1 2.24.0-rc.0 2.23.2 2.23.1 2.23.0 2.22.1 2.22.0 2.21.0 2.20.0 2.20.0-rc.3 2.20.0-rc.2 2.20.0-rc.1 2.20.0-rc.0 2.19.1 2.19.0 2.18.2 2.18.1 2.18.0 2.18.0-rc.0 2.17.2 2.17.1 2.17.0 2.16.2 2.16.1 2.16.1-rc.0 2.16.0 2.15.0 2.14.1 2.14.0 2.14.0-rc.0 2.13.0 2.12.1 2.12.0 2.11.1 2.11.0 2.10.2 2.10.1 2.10.0 retired 2.9.0 2.8.1 2.8.0 2.7.2 2.7.1 2.7.0 2.6.2 2.6.1 2.6.0 2.5.0 2.4.3 2.4.2 2.4.1 2.4.0 2.3.2 2.3.1 2.3.0 2.2.7 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 2.2.1 2.2.0 2.1.0 2.0.4 2.0.3 2.0.2 2.0.1 2.0.0 2.0.0-rc.3 retired 2.0.0-rc.2 retired 2.0.0-rc.1 retired 2.0.0-rc.0 retired 1.8.2 1.8.1 1.8.0 1.7.1 1.7.0 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.2 1.5.1 1.5.0 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 retired 1.4.0-rc.3 retired 1.4.0-rc.2 retired 1.4.0-rc.1 retired 1.4.0-rc.0 retired 1.3.2 1.3.1 1.3.0 1.2.0 1.1.0 1.0.0 1.0.0-rc.3 retired 1.0.0-rc.2 retired 1.0.0-rc.1 retired 1.0.0-rc.0 retired 0.13.1 0.13.0 0.12.2 retired 0.12.1 retired 0.12.0 retired 0.11.0 retired 0.10.0 retired 0.9.0 retired 0.8.3 retired 0.8.2 retired 0.8.1 retired 0.8.0 retired 0.7.0 retired 0.6.2 retired 0.6.1 retired 0.6.0 retired 0.5.2 retired 0.5.1 retired 0.5.0 retired 0.4.2 retired 0.4.1 retired 0.4.0 retired 0.3.0 retired 0.2.1 retired 0.2.0 retired 0.1.3 retired 0.1.2 retired 0.1.1 retired 0.1.0 retired 0.0.20 retired 0.0.19 retired 0.0.18 retired 0.0.17 retired 0.0.16 retired 0.0.15 retired 0.0.14 retired 0.0.13 retired 0.0.12 retired 0.0.11 retired 0.0.10 retired 0.0.8 retired 0.0.7 retired 0.0.6 retired 0.0.5 retired 0.0.4 retired 0.0.3 retired

Common Locale Data Repository (CLDR) functions for Elixir to localize and format numbers, dates, lists, messages, languages, territories and units with support for over 700 locales for internationalized (i18n) and localized (L10N) applications.

Retired package: Deprecated

Current section

Files

Jump to
ex_cldr src rbnf.xrl
Raw

src/rbnf.xrl

% Lexer for the ICU/CLDR Rule Based Number Formatting rule definitions.
% Step 1 is to read in the json rule set.
% Then for each ruleset, pass each rule to the parser in two parts:
% First the rule name
% THen the rule definition
%
% Can be invoked in elixir as:
%
% iex> :rbnf.string(rules_set_as_a_char_list)
%
Definitions.
Rule_cardinal_start = \$\(cardinal,
Rule_ordinal_start = \$\(ordinal,
Rule_cardord_end = \)\$
Plural_rules = (zero\{.+\})?(one\{.+\})?(two\{.+\})?(few\{.+\})?(many\{.+\})?(other\{.+\})?
Rule_name = (%[%a-zA-Z\-]+)
Number_format = ([0#]([0#,]+)?)(\.([0#]+))?([eE]([-+]?[0#]+))?
Conditional_start = \[
Conditional_end = \]
Greater_than =
Less_than =
Equals = =
Semicolon = ;
Literal = [^→←=\[\]\n\t\$]
Whitespace = [\s\n\t]
Rules.
% We're using a common lexer for both the rule declaration and its definition.
% This part is for the declarations.
{Plural_rules} : {token,{plural_rules,TokenLine,TokenChars}}.
% This part is for the definitions.
{Number_format} : {token,{number_format,TokenLine,TokenChars}}.
{Rule_name} : {token,{rule_name,TokenLine,TokenChars}}.
{Conditional_start} : {token,{conditional_start,TokenLine,TokenChars}}.
{Conditional_end} : {token,{conditional_end,TokenLine,TokenChars}}.
{Greater_than} : {token,{modulo_call,TokenLine,TokenChars}}.
{Less_than} : {token,{quotient_call,TokenLine,TokenChars}}.
{Equals} : {token,{rule_call,TokenLine,TokenChars}}.
{Semicolon} : {token,{rule_end,TokenLine,TokenChars}}.
{Rule_cardinal_start} : {token,{rule_cardinal_start,TokenLine,TokenChars}}.
{Rule_ordinal_start} : {token,{rule_ordinal_start,TokenLine,TokenChars}}.
{Rule_cardord_end} : {token,{rule_card_ord_end,TokenLine,TokenChars}}.
{Literal}+ : {token,{literal,TokenLine,TokenChars}}.
{Whitespace}+ : skip_token.
Erlang code.