Terminals

String constants are constructed using one of these rules. The string can be:

  • Enclosed in double-quotes, containing no double-quote characters as illustrated by this example:

    StringLiteral = "{String Ch 1}*"
  • Enclosed in double-quotes, containing paired double-quotes that are each interpreted as a single embedded double-quote character as illustrated by this example:

    StringLiteral = "(""|{String Ch 1})*"
  • Enclosed in single-quotes, containing no single-quote characters as illustrated by this example:

    StringLiteral = '{String Ch 2}*'
  • Enclosed in single-quotes, containing paired single-quotes that are each interpreted as a single single-quote character as illustrated by this example:

    StringLiteral = '(''|{String Ch 2})*'

Each string constant in an expression or parameter list can be constructed using any of these rules, independently of other string constants.

Integer constants do not contain a decimal point:

IntegerLiteral = {Digit}+

Real constants contain a decimal point:

RealLiteral = {Digit}+.{Digit}+

Identifiers such as variable, constant, and event parameter names must begin with a letter or underscore, and continue with zero or more alphanumeric characters or underscores:

Id = {ID Head}{ID Tail}*