Wyjec language grammar

for Wyjec 1.0

The whole Wyjec expression is either an empty string or a (non-empty) sequence of atoms.

expression
  : /* empty */
  | atom_sequence;

A sequence of atoms consists of positive number of atoms immediately following each other, without any separators between them. If there are at least two atoms in a sequence, there's implicit string conversion performed for each atom and then string concatenation on the results.

atom_sequence
  : atom
  | atom_sequence atom;

An atom is either a string value or a function call. Every function call contains a function name and a list of parameters.

atom
  : STRING
  | '{' STRING parameter_list '}';

A list of parameters is either an empty string or a sequence of parameters separated with "|" character.

parameter_list
  : /* empty */
  | parameter_list '|' parameter;

A parameter is either an empty string or a sequence of atoms.

parameter
  : /* empty */
  | atom_sequence;

© Copyright by Zbigniew Chyla 2005

Valid XHTML 1.0 Strict Viewable with Any Browser