X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fpxp%2Fm2parsergen%2Fparser.mly;fp=helm%2FDEVEL%2Fpxp%2Fpxp%2Fm2parsergen%2Fparser.mly;h=0000000000000000000000000000000000000000;hp=7497c3a9399924d4d875ae5a7b36ba74186552ff;hb=869549224eef6278a48c16ae27dd786376082b38;hpb=89262281b6e83bd2321150f81f1a0583645eb0c8 diff --git a/helm/DEVEL/pxp/pxp/m2parsergen/parser.mly b/helm/DEVEL/pxp/pxp/m2parsergen/parser.mly deleted file mode 100644 index 7497c3a93..000000000 --- a/helm/DEVEL/pxp/pxp/m2parsergen/parser.mly +++ /dev/null @@ -1,194 +0,0 @@ -/* $Id$ - * ---------------------------------------------------------------------- - * - */ - -%{ - open Ast - -%} - -%token Space -%token Token -%token Type -%token Lname -%token Uname -%token Separator -%token Lparen -%token Rparen -%token Comma -%token Colon -%token Code -%token Error -%token Alt -%token Loop_plus -%token Loop_star -%token Dollar -%token Lbracket -%token Rbracket%token Eof - -%start text -%type text - -%% - -text: - declarations rules - { { text_decls = $1; text_rules = $2; } } - -declarations: - declaration declarations - { $1 :: $2 } -| Separator - { [] } - -declaration: - Token Uname - { D_token $2 } -| Token Type Uname - { D_typed_token $3 } - -rules: - rule rules - { $1 :: $2 } -| Separator - { [] } - -rule: - Lname Lparen formal_arguments Colon branches - { { rule_name = $1; - rule_arguments = $3; - rule_branches = $5; - } - } - -formal_arguments: - Rparen - { [] } -| Lname comma_formal_arguments - { $1 :: $2 } - -comma_formal_arguments: - Comma Lname comma_formal_arguments - { $2 :: $3 } -| Rparen - { [] } - -branches: - branch alt_branches - { $1 :: $2 } - -alt_branches: - Alt branch alt_branches - { $2 :: $3 } -| - { [] } - -branch: - simple_branch - { $1 } -| Dollar Code simple_branch - { { $3 with branch_early_code = $2 } } - -simple_branch: - symbol Dollar Code patterns Code opt_error_handler - { { branch_selector = $1; - branch_early_code = ("",0,0); - branch_binding_code = $3; - branch_pattern = $4; - branch_result_code = $5; - branch_error_code = $6; - } - } -| symbol patterns Code opt_error_handler - { { branch_selector = $1; - branch_early_code = ("",0,0); - branch_binding_code = ("", 0, 0); - branch_pattern = $2; - branch_result_code = $3; - branch_error_code = $4; - } - } - -patterns: - pattern patterns - { $1 :: $2 } -| - { [] } - -pattern: - symbol Loop_star - { { pat_symbol = $1; - pat_modifier = Repetition; - } - } -| symbol Error - { { pat_symbol = $1; - pat_modifier = Option; - } - } -| symbol - { { pat_symbol = $1; - pat_modifier = Exact; - } - } - -symbol: - Lname Colon Uname - { U_symbol($3, Some $1) } -| Lname Colon Lname Lparen actual_arguments - { L_symbol($3, $5, Some $1) } -| Lname Colon Lbracket Lname Rbracket Lparen actual_arguments - { L_indirect($4, $7, Some $1) } -| Uname - { U_symbol($1, None) } -| Lname Lparen actual_arguments - { L_symbol($1, $3, None) } -| Lbracket Lname Rbracket Lparen actual_arguments - { L_indirect($2, $5, None) } - - -actual_arguments: - Rparen - { [] } -| Lname comma_actual_arguments - { $1 :: $2 } - -comma_actual_arguments: - Rparen - { [] } -| Comma Lname comma_actual_arguments - { $2 :: $3 } - -opt_error_handler: - Error Code - { Some $2 } -| - { None } - -%% - -(* ====================================================================== - * History: - * - * $Log$ - * Revision 1.1 2000/11/17 09:57:32 lpadovan - * Initial revision - * - * Revision 1.4 2000/05/09 00:03:22 gerd - * Added [ ml_name ] symbols, where ml_name is an arbitrary - * OCaml identifier. - * - * Revision 1.3 2000/05/08 22:03:01 gerd - * It is now possible to have a $ {{ }} sequence right BEFORE - * the first token. This code is executed just after the first token - * has been recognized. - * - * Revision 1.2 2000/05/06 21:51:46 gerd - * New Dollar tag. - * - * Revision 1.1 2000/05/06 17:36:17 gerd - * Initial revision. - * - * - *)