postfix_expr : postfix_expr "." ident !var [member] | ident " args ")" rel_restrictions } [Map] | "OrderedMap" { "(" args "->" args ")" rel_restrictions } [Map] | "Func" { "(" args "->" args ")" rel_restrictions } [Func] | "OrderedFunc" { "(" args "->" args ")" rel_restrictions } [Func] | "Relation" { "(" args ")" rel_restrictions } [Relation] | "OrderedRelation" { "(" args ")" rel_restrictions } [Relation] | "List" { "(" args ")" } [List] | "Record" { "(" args ")" } [Record] | "num" [num] | "string" [string] | "date" [date] | postfix_expr . rel_restrictions : ( "Unique" "(" ident var ":" set_expr) LIST [record] | set_expr . def : "df" ident >var { ("(" par_def LIST ")")OPT "=" set_expr } [df]. par_def : ident >var ":" set_expr . root : def SEQ eof .