Formal grammar for relational
expressions
Formal grammar for relational
expressions
For completeness, the following productions formalize the
process by which coNCePTuaL parses relational expressions:
<rel_expr> |
::= |
<rel_disj_expr> |
<rel_disj_expr> |
::= |
[
<rel_disj_expr> ‘\/’]
<rel_conj_expr> |
<rel_conj_expr> |
::= |
[
<rel_conj_expr> ‘/\’]
<rel_primary_expr> |
<rel_primary_expr> |
::= |
<eq_expr> |
|
| |
‘(’ <rel_expr>
‘)’ |
<eq_expr> |
::= |
<expr> ‘=’ <expr> |
|
| |
<expr> ‘<’ <expr> |
|
| |
<expr> ‘>’ <expr> |
|
| |
<expr> ‘<=’
<expr> |
|
| |
<expr> ‘>=’
<expr> |
|
| |
<expr> ‘<>’
<expr> |
|
| |
<expr> DIVIDES <expr> |
|
| |
<expr> IS EVEN |
|
| |
<expr> IS ODD |
|
| |
<expr> IS IN <range> [,
<range>]* |
|
| |
<expr> IS NOT IN <range>
[,
<range>]* |
Scott Pakin, pakin@lanl.gov