frondoc picture

What is Frontier?
Download
News & Updates

Web Tutorial
Scripting Tutorial
BBEdit Scripting
Directory

Mailing Lists
Sample Scripts
Verb Set
Frontier Site Outline

Search
Guestbook
BBS

User's Guide
1 2 3 4 5 6
7 8 9 10 11

Apple File Edit
Main Open Suites
Web Window

Menubar Outline
Script Table WP

frondoc picture

UserTalk Grammar

The formal grammar for the UserTalk language.

module:
statementlist eoltoken
bracketedidentifier:
identifiertoken
'[' expr ']'
handlerheader:
ontoken bracketedidentifier '(' namelist ')'
ontoken bracketedidentifier '(' ')'
optionalinit:
/*emptiness*/
assigntoken expr
namelistid:
bracketedidentifier optionalinit
namelist:
namelistid
namelist ',' namelistid
namelist ';' namelistid
statementlist:
statement
statementlist ';' statement
bracketedstatementlist:
'{' statementlist '}'
derefid:
term '^'
functionref '^'
'(' expr ')' '^'
dottedid:
term '.' bracketedidentifier
rangeref:
expr totoken expr
arrayref:
term '[' expr ']'
term '[' rangeref ']'
term '[' fieldspec ']'
term:
dottedid
arrayref
bracketedidentifier
derefid
statement:
/*emptiness*/
expr
term assigntoken expr
handlerheader bracketedstatementlist
handlerheader '{' kernelcall '}'
localtoken '(' namelist ')'
localtoken '{' namelist '}'
globaltoken '(' namelist ')'
globaltoken '{' namelist '}'
fileloopheader bracketedstatementlist
loopheader bracketedstatementlist
forloopheader bracketedstatementlist
forinloopheader bracketedstatementlist
ifheader bracketedstatementlist
ifheader bracketedstatementlist elsetoken bracketedstatementlist
bundleheader bracketedstatementlist
breaktoken '(' ')'
breaktoken
continuetoken
returntoken optionalexpr
caseheader '{' casebody '}'
caseheader '{' casebody '}' elsetoken bracketedstatementlist
withheader bracketedstatementlist
tryheader bracketedstatementlist
tryheader bracketedstatementlist elsetoken bracketedstatementlist
kernelcall:
kerneltoken '(' dottedid ')'
fileloopheader:
filelooptoken '(' bracketedidentifier intoken expr ')'
filelooptoken '(' bracketedidentifier intoken expr ',' expr ')'
loopheader:
looptoken '(' statement ';' expr ';' statement ')'
looptoken
looptoken '(' expr ')'
whiletoken expr
looptoken '(' statement ';' expr ')'
forloopheader:
fortoken term assigntoken expr totoken expr
fortoken '(' term assigntoken expr totoken expr ')'
fortoken term assigntoken expr downtotoken expr
fortoken '(' term assigntoken expr downtotoken expr ')'
forinloopheader:
fortoken term intoken expr
fortoken '(' term intoken expr ')'
ifheader:
iftoken expr
tryheader:
trytoken
bundleheader:
bundletoken
caseheader:
casetoken expr
optionalstatementlist:
/*emptiness*/
bracketedstatementlist
casebody:
expr optionalstatementlist
casebody ';' expr optionalstatementlist
withheader:
withtoken termlist
termlist:
term
termlist ',' term
exprlist:
expr
exprlist ',' expr
optionalexprlist:
/*emptiness*/
exprlist
optionalexpr:
/*emptiness*/
expr
fieldspec:
expr ':' expr
fieldlist:
fieldspec
fieldlist ',' fieldspec
namedvalue:
bracketedidentifier ':' expr
namedvaluelist:
namedvalue
namedvaluelist ',' namedvalue
parameterlist:
optionalexprlist
namedvaluelist
exprlist ',' namedvaluelist
functionref:
term '(' parameterlist ')'
expr:
constanttoken
term
'@' term
functionref
plusplustoken term
term plusplustoken
minusminustoken term
term minusminustoken
'(' expr ')'
expr addtoken expr
expr subtracttoken expr
expr multiplytoken expr
expr dividetoken expr
expr modtoken expr
expr EQtoken expr
expr NEtoken expr
expr LTtoken expr
expr LEtoken expr
expr GTtoken expr
expr GEtoken expr
expr beginswithtoken expr
expr endswithtoken expr
expr containstoken expr
expr orortoken expr
expr andandtoken expr
subtracttoken expr %prec unaryminus
nottoken expr
'{' optionalexprlist '}'
'{' fieldlist '}'


© Copyright 1996-97 UserLand Software. This page was last built on 5/7/97; 1:45:36 PM. It was originally posted on 9/30/93; 11:06:52 AM. Internet service provided by Conxion.