Variable syntax parser

Energy.Core.Syntax is a variable substitution helper. It stores a dictionary of named values and a set of bracket definitions. Text is parsed and occurrences of variables enclosed in brackets are processed.

Default syntax

The default instance uses {{ and }} as brackets.

string result = Energy.Core.Syntax.Default.Parse("{{HOUR}}:{{MM}}:{{SS}}");

Default variables

Syntax.Default is populated with date/time variables at the moment Reset() is called. Available variables include:

  • DATE, TIME, TIME_MS, TIME_US, STAMP, STAMP_MS, STAMP_US

  • YEAR, YYYY, YY, MONTH, MM, DAY, DD

  • HOUR, HOUR_12, HOUR_24, HH, MINUTE, II, SECOND, SS

  • MILLISECOND, MS, MICROSECOND, US

  • AM

Custom syntax

Energy.Core.Syntax syntax = new Energy.Core.Syntax();
syntax["NAME"] = "Alice";
syntax.Brackets.Add(new Energy.Base.Bracket
{
    Prefix = "${",
    Suffix = "}",
});

string result = syntax.Parse("Hello ${NAME}!");

Properties and methods

Member Description
Default Shared default syntax instance.
Text Text to parse.
Dictionary Variable dictionary.
Brackets Bracket definitions.
Parse(string) Parse the provided text.
ToString() Parse the current Text.
Reset() Clear the dictionary and fire OnReset.
OnReset Event used to populate default variables.
PopulateDefault(Syntax) Populate the default date/time variables.

Example

Energy.Core.Syntax syntax = new Energy.Core.Syntax("{{DATE}} {{TIME}}");
Console.WriteLine(syntax.ToString());

See also

  • base-bracket for bracket definitions.