!--a11y-->
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. |
