Category : Files from Magazines
Archive   : CUJ9201.ZIP
Filename : 1001108A

 
Output of file : 1001108A contained in archive : CUJ9201.ZIP

CMENU Specification Language
----------------------------

Explanation of my "loose BNF" form:

:= reads "is defined as".

Terms in <>s are syntactic objects.

Terms in CAPITALS are keywords.

An item in [] is optional

If a set of items is enclosed in {} with |
between each item, or a range is shown
using the - character, exactly one of
those items must be picked.

* to the right of an object denotes 0
or more occurrences.

+ to the right of an object denotes 1
or more occurrences.

Wherever a separator is necessary to
delimit tokens, the characters ';' and
',' are both valid separators along
with the usual whitespace characters
(space, tab and newline.)
------------------------------------------

:=
+

:=
MENU [] :
*
+
ENDMENU

:=
{ a-z | A-Z }+ { a-z | A-Z | 0-9 } *

:=
PATH
ALIGN { LEFT | CENTER } |
ESCAPE |
NOESCAPE |
SPACING { 1 | 2 } |
COLUMNS

:=
{0-9} +

:=
{
"" |
'' |


}

:=
ITEM [] : []
[] *


:=
NEXTITEM
{
|
FIRST |
LAST |
NEXT
} |
TEXT |
HELP |
PATH |
PROMPT |
PAUSE |
NOPROMPT |
NOPAUSE |
NOPRECLEAR |
PRECLEAR

:=
{
ACTION |
EXIT |
LMENU |
EMENU
}

:= string containing any
ASCII characters, delimited by either
single (') or double (") quotes.
Line continuation is NOT permitted.

:= string without
quotes, containing no whitespace
characters whatsoever. Terminated
by first whitespace character.

Note: the displayed for any one
item may be specified either as an
(the TEXT clause) or
immediately following the colon after
the ITEM declaration. Exactly ONE
of these methods must be used for
each item in the menu file.