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.