987: open_decl: 988: | OPEN qualified_name SEMI 989: { 990: `AST_open (rstoken $1 $3,qualified_name_of_expr $2) 991: } 992: 993: use_decl: 994: | USE qualified_name SEMI 995: { 996: let sr = rstoken $1 $3 in 997: match $2 with 998: | (`AST_lookup (_,(e,n,[])) as qn) -> `AST_use (sr,n,qualified_name_of_expr qn) 999: | (`AST_name (_,n,_) as qn) -> `AST_use (sr,n,qualified_name_of_expr qn) 1000: | _ -> Flx_exceptions.clierr sr "Use declaration requires qualified name" 1001: } 1002: 1003: | USE NAME EQUAL qualified_name SEMI 1004: { 1005: let sr = rstoken $1 $5 in 1006: `AST_use (sr, snd $2, qualified_name_of_expr $4) 1007: } 1008: