next up previous
Next: 2002 FIFA World Cup Up: Appendix Previous: JavaScript Compatibility


BNF Specification of the full Grammar

powerforms $ \rightarrow$ $ \langle$ powerforms$ \rangle$
$  $$  $( predicate-def
$  $$  $$  $$ \vert$ constraint
$  $$  $$  $$ \vert$ autoupdate-def
$  $$  $$  $$ \vert$ metainfo
$  $$  $$  $$ \vert$ include-file )$ \sp\ast$
$ \langle$/powerforms$ \rangle$
predicate-def $ \rightarrow$ <predicate id=stringconst >
$  $$  $$  $predicate-body
</predicate>
predicate-body $ \rightarrow$ <body>
$  $$  $$  $argumentlist
$  $$  $$  $checkcode
$  $$  $$  $autocompletionrules
</body>
$ \vert$ <template>
$  $$  $$  $argumentlist
$  $$  $$  $checkcode
$  $$  $$  $autocompletionrules
</template>
$ \vert$ <bind [idref=stringconst] [url=stringconst] >
$  $$  $binding-list$ \sp\ast$
</bind>
$ \vert$ <if>
$  $$  $predicate-expression
$  $$  $$  $ <then>predicate-ref</then>
$  $$  $$  $ <else>predicate-ref</else>
</if >
predicate-expression $ \rightarrow$ predicate-ref
$ \vert$ <and>
$  $$  $$  $predicate-expression
$  $$  $$  $predicate-expression
</and>
$ \vert$ <or>
$  $$  $$  $predicate-expression
$  $$  $$  $predicate-expression
</or>
$ \vert$ <not>
$  $$  $$  $predicate-expression
</not>
predicate-ref $ \rightarrow$ <predicate idref=stringconst />
binding-list $ \rightarrow$ <to>
$  $$  $ argument
$  $$  $ assignment
</to>
assignment $ \rightarrow$ <field name =stringconst/>
$ \vert$ <const value= intconst/>
$ \vert$ <interface id=stringconst name=stringconst/>
checkcode $ \rightarrow$ <checkcode>
$  $$  $$  $operator
$  $$  $$  $result
$  $$  $$  $argumentlist
</checkcode>
operator $ \rightarrow$ <operator name = stringconst />
result $ \rightarrow$ <result name = stringconst />
argumentlist $ \rightarrow$ <argumentlist>
$  $$  $$  $argument$ \sp+$
</argumentlist>
argument $ \rightarrow$ <argument name = stringconst />
autocompletionrules $ \rightarrow$ <autocompletionrules>
$  $$  $autocompletionrules-body
</autocompletionrules>
autocompletionrules-body $ \rightarrow$ <empty/>
$ \vert$ $  $$  $$  $rule$ \sp+$
rule $ \rightarrow$ <rule>
$  $$  $$  $argumentlist
$  $$  $$  $guard
$  $$  $$  $result
$  $$  $$  $operator
</rule>
guard $ \rightarrow$ <guard>
$  $$  $$  $guard-body
</guard>
guard-body $ \rightarrow$ </empty>
$ \vert$ $  $$  $$  $argumentlist
$  $$  $$  $operator
autoupdate-def $ \rightarrow$ <autoupdate name=stringconst status=stringconst/>
include-file $ \rightarrow$ <include name =stringconst/ >
metainfo $ \rightarrow$ <metainfo update=stringconst ignore=stringconst/>
constraint $ \rightarrow$ <constraint [form=stringconst] [field=stringconst] [id=stringconst]>
$  $$  $$  $regexp-def
</constraint>
regexp-def $ \rightarrow$ <regexp id=stringconst>
$  $$  $$  $regexp
</regexp>
regexp $ \rightarrow$ <empty/>
$ \vert$ <anychar />
$ \vert$ <anything />
$ \vert$ <const value=stringconst />
$ \vert$ <charset value=stringconst />
$ \vert$ <charrange low=charconst high=charconst />
$ \vert$ <interval low=intconst high=intconst [width=intconst] [radix=intconst] />
$ \vert$ <repeat count=intconst>
$  $$  $$  $regexp
</repeat>
$ \vert$ <repeat [min=intconst] [max=intconst]>
$  $$  $$  $regexp
</repeat>
$ \vert$ <complement>
$  $$  $$  $regexp
</complement>
$ \vert$ <optional>
$  $$  $$  $regexp
</optional>
$ \vert$ <plus>
$  $$  $$  $regexp
</plus>
$ \vert$ <intersection>
$  $$  $$  $regexp$ \sp+$
</intersection>
$ \vert$ <union>
$  $$  $$  $regexp$ \sp+$
</union>
$ \vert$ <concat>
$  $$  $$  $regexp$ \sp+$
</concat>
$ \vert$ <regexp pattern=stringconst/>
$ \vert$ <regexp url=stringconst />
$ \vert$ <regexp idref=stringconst />


next up previous
Next: 2002 FIFA World Cup Up: Appendix Previous: JavaScript Compatibility
Sunil Kothari 2006-04-29