HTMLBusiness Grammar Summary
Use
The following table summarizes the correct formulation of HTMLBusiness expressions:
|
Nonterminal |
Derivation |
|
htmlbusiness |
([ html | script[ ;] ] htmlbusiness)| eof |
|
html |
bytestream |
|
script |
(declaration | expression | conditional | loop) |
|
declaration |
declare externalfn {, externalfn } in module |
|
externalfn |
identifier |
|
module |
constant |
|
function |
funcname( argument { , argument}) |
|
argument |
[identifier =] expression |
|
expression |
simpleexpr [compop simpleexpr] |
|
simpleexpr |
term { addopr simpleexpr} |
|
term |
factor { mulopr factor} |
|
factor |
( !| ++| --) factor ( expression) | assignment | lvalue [ ++| --] | constant |
|
function call |
internalfn ( argument { , argument}) | externalfn ( expression { , expression}) |
|
internalfn |
write| writeEnc| wgateURL| archiveURL| imageURL| mimeURL| assert |
|
mulopr |
* / % && |
|
addopr |
+ - & || |
|
compop |
==| !=| >| <| >=| <= |
|
| value |
field | register |
|
field |
{ ^} identifier [ [ expression ]] [ . attribute ] |
|
attribute |
dim| disabled| exists| label| maxSize| name| type| value| visSize |
|
assignment |
lvalue = expression |
|
conditional |
if ( expression ) htmlbusiness { ( elsif| elseif) ( expression) htmlbusiness } [ else htmlbusiness ] |
|
loop |
repeat expression times htmlbusiness end| repeat with register in field htmlbusiness end| repeat with register from expression to expression by expression htmlbusiness end| for ( expression ; expression ; expression ) htmlbusiness end |
|
register |
identifier |
|
identifier |
{ ~| _| -} char { char | digit | _| ~| -} | |
|
constant |
digit {digit} | " bytestream " # identifier |
|
char |
a... z| A... Z |
The following syntax conventions are observed in tables:
|
Notation |
Description |
Usage |
|
[...] |
Square brackets |
Optional derivations. |
|
{...} |
Braces |
Contain zero or number of repetitions of an expression. |
|
| |
Vertical line |
Alternative derivatives ( OR). |
|
(...) |
Parentheses |
Combine components where uniqueness is not guaranteed. |