]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/pxp/pxp/m2parsergen/parser.mly
This commit was manufactured by cvs2svn to create branch
[helm.git] / helm / DEVEL / pxp / pxp / m2parsergen / parser.mly
diff --git a/helm/DEVEL/pxp/pxp/m2parsergen/parser.mly b/helm/DEVEL/pxp/pxp/m2parsergen/parser.mly
deleted file mode 100644 (file)
index 7497c3a..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/* $Id$
- * ----------------------------------------------------------------------
- *
- */
-
-%{
-  open Ast
-
-%}
-
-%token Space
-%token Token
-%token Type
-%token <string> Lname
-%token <string> Uname
-%token Separator
-%token Lparen
-%token Rparen
-%token Comma
-%token Colon
-%token <string * int * int> Code
-%token Error
-%token Alt
-%token Loop_plus
-%token Loop_star
-%token Dollar
-%token Lbracket
-%token Rbracket%token Eof
-
-%start text
-%type <Ast.text> 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.
- *
- * 
- *)