Simple relational algebra interpreter.
usage:
To make the grammar
python relalg.py make
To run some relatoinal algebra expressions
python relalg.py < expressions_file
Imported modules
|
|
import string
|
Functions
|
|
|
|
BindRules
|
BindRules ( sqlg )
|
|
Buildrelalg
|
Buildrelalg ( filename=MARSHALFILE )
|
|
DeclareTerminals
|
DeclareTerminals ( Grammar )
|
|
assignment1
|
assignment1 ( l, c )
|
|
charstfn
|
charstfn ( str )
|
|
check_compat
|
check_compat ( v1, v2 )
|
|
elt0
|
elt0 ( l, c )
|
|
elt1
|
elt1 ( l, c )
|
|
emptylist
|
emptylist ( l, c )
|
|
factorexpr
|
factorexpr ( l, c )
|
|
intersect
|
intersect ( l, c )
|
|
join
|
join ( l, c )
|
|
maxrep
|
maxrep ( list )
|
|
minus
|
minus ( l, c )
|
|
named
|
named ( l, c )
|
|
names11
|
names11 ( l, c )
|
|
names1n
|
names1n ( l, c )
|
|
numlitfn
|
numlitfn ( str )
Note: this is "safe" because regex
filters out dangerous things.
|
|
projection
|
projection ( l, c )
|
|
relationval
|
relationval ( l, c )
|
|
reloadrelalg
|
reloadrelalg ( filename=MARSHALFILE )
|
|
rename
|
rename ( l, c )
|
|
rown
|
rown ( l, c )
|
|
runfile
|
runfile ( f )
|
|
selection
|
selection ( l, c )
|
|
somerows1
|
somerows1 ( l, c )
|
|
somerowsn
|
somerowsn ( l, c )
|
|
statementexpr
|
statementexpr ( l, c )
|
|
union
|
union ( l, c )
|
|
userdeffn
|
userdeffn ( str )
|
Classes
|
|
|
|