type token = | CONST of (string) | IDENT of (string) | LPAR | RPAR | SEQ | SPLIT | MERGE | PAR | REC | EOF | POINT open Parsing;; # 1 "parser.mly" open Types # 19 "parser.ml" let yytransl_const = [| 259 (* LPAR *); 260 (* RPAR *); 261 (* SEQ *); 262 (* SPLIT *); 263 (* MERGE *); 264 (* PAR *); 265 (* REC *); 0 (* EOF *); 266 (* POINT *); 0|] let yytransl_block = [| 257 (* CONST *); 258 (* IDENT *); 0|] let yylhs = "\255\255\ \001\000\002\000\002\000\002\000\002\000\002\000\002\000\002\000\ \002\000\002\000\002\000\000\000" let yylen = "\002\000\ \002\000\001\000\002\000\003\000\001\000\003\000\003\000\003\000\ \003\000\003\000\003\000\002\000" let yydefred = "\000\000\ \000\000\000\000\000\000\005\000\000\000\012\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\001\000\004\000\ \006\000\000\000\000\000\000\000\000\000\011\000" let yydgoto = "\002\000\ \006\000\007\000" let yysindex = "\255\255\ \008\255\000\000\024\255\000\000\008\255\000\000\012\000\032\255\ \023\255\008\255\008\255\008\255\008\255\008\255\000\000\000\000\ \000\000\016\255\253\254\253\254\011\255\000\000" let yyrindex = "\000\000\ \000\000\000\000\001\000\000\000\000\000\000\000\000\000\007\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\022\000\023\000\026\000\018\000\000\000" let yygindex = "\000\000\ \000\000\003\000" let yytablesize = 286 let yytable = "\001\000\ \002\000\010\000\011\000\012\000\013\000\014\000\003\000\009\000\ \003\000\004\000\005\000\015\000\018\000\019\000\020\000\021\000\ \022\000\007\000\013\000\014\000\010\000\010\000\008\000\013\000\ \014\000\009\000\017\000\010\000\011\000\012\000\013\000\014\000\ \016\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\002\000\002\000\002\000\002\000\ \002\000\002\000\003\000\003\000\003\000\003\000\003\000\003\000\ \010\000\011\000\012\000\013\000\014\000\007\000\007\000\007\000\ \007\000\010\000\008\000\010\000\010\000\009\000" let yycheck = "\001\000\ \000\000\005\001\006\001\007\001\008\001\009\001\000\000\005\000\ \001\001\002\001\003\001\000\000\010\000\011\000\012\000\013\000\ \014\000\000\000\008\001\009\001\005\001\000\000\000\000\008\001\ \009\001\000\000\004\001\005\001\006\001\007\001\008\001\009\001\ \001\001\010\001\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ \255\255\255\255\255\255\255\255\004\001\005\001\006\001\007\001\ \008\001\009\001\004\001\005\001\006\001\007\001\008\001\009\001\ \005\001\006\001\007\001\008\001\009\001\004\001\005\001\006\001\ \007\001\004\001\004\001\006\001\007\001\004\001" let yynames_const = "\ LPAR\000\ RPAR\000\ SEQ\000\ SPLIT\000\ MERGE\000\ PAR\000\ REC\000\ EOF\000\ POINT\000\ " let yynames_block = "\ CONST\000\ IDENT\000\ " let yyact = [| (fun _ -> failwith "parser") ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'faust_exp) in Obj.repr( # 16 "parser.mly" ( _1 ) # 167 "parser.ml" : Types.faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in Obj.repr( # 17 "parser.mly" ( Const(N (int_of_string _1)) ) # 174 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : string) in Obj.repr( # 18 "parser.mly" ( Const(R (float_of_string _1)) ) # 181 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : string) in let _3 = (Parsing.peek_val __caml_parser_env 0 : string) in Obj.repr( # 19 "parser.mly" ( Const(R (float_of_string (_1 ^ "." ^ _3))) ) # 189 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in Obj.repr( # 20 "parser.mly" ( Ident(symbol_of_string _1) ) # 196 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'faust_exp) in Obj.repr( # 21 "parser.mly" ( _2 ) # 203 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'faust_exp) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'faust_exp) in Obj.repr( # 22 "parser.mly" ( Par(_1,_3) ) # 211 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'faust_exp) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'faust_exp) in Obj.repr( # 23 "parser.mly" ( Split(_1,_3) ) # 219 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'faust_exp) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'faust_exp) in Obj.repr( # 24 "parser.mly" ( Merge(_1,_3) ) # 227 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'faust_exp) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'faust_exp) in Obj.repr( # 25 "parser.mly" ( Seq(_1,_3) ) # 235 "parser.ml" : 'faust_exp)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'faust_exp) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'faust_exp) in Obj.repr( # 26 "parser.mly" ( Rec(_1,_3) ) # 243 "parser.ml" : 'faust_exp)) (* Entry main *) ; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0))) |] let yytables = { Parsing.actions=yyact; Parsing.transl_const=yytransl_const; Parsing.transl_block=yytransl_block; Parsing.lhs=yylhs; Parsing.len=yylen; Parsing.defred=yydefred; Parsing.dgoto=yydgoto; Parsing.sindex=yysindex; Parsing.rindex=yyrindex; Parsing.gindex=yygindex; Parsing.tablesize=yytablesize; Parsing.table=yytable; Parsing.check=yycheck; Parsing.error_function=parse_error; Parsing.names_const=yynames_const; Parsing.names_block=yynames_block } let main (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = (Parsing.yyparse yytables 1 lexfun lexbuf : Types.faust_exp)