File "mcc-mc.mly", line 50, characters 27-36: Warning: the token TokDQuote is unused. File "mcc-mc.mly", line 58, characters 27-41: Warning: the token TokEndLanguage is unused. File "mcc-mc.mly", line 63, characters 43-48: Warning: the token TokId is unused. %{ open Fc_parse_type open Fc_frontends let parse_pascal buffer = FrontEnd.set_pascal_parsing (); Fc_parse_state.init_types (); let elist = Pasqual_parser.bootstrap Pasqual_lexer.main (Lexing.from_string buffer) in [PascalExpr (Fc_parse_state.current_position (), elist)] let parse_pasqual buffer = FrontEnd.set_pasqual_parsing (); Fc_parse_state.init_types (); Pasqual_parser.bootstrap Pasqual_lexer.main (Lexing.from_string buffer) let parse_fc buffer = FrontEnd.set_parameter_copying CopyNone; Fc_parse_state.init_types (); Fc_parse.prog Fc_lex.main (Lexing.from_string buffer) %} %start program %token TokString %token TokSourceString %token TokSource %token TokPasqual %token TokPascal %token TokLt %token TokLanguage %token TokId %token TokGt %token TokFC %token TokEq %token TokEof %token TokEndLanguage %token TokDQuote %type program %% program: | _1 = source_block_list _2 = TokEof { ( _1 )} | _1 = source_block_list { ( _1 )} | _1 = TokEof { ( [] )} source_block_list: | _1 = source_block_list _2 = source_block { ( _1 @ _2 )} | _1 = source_block { ( _1 )} source_block: | _1 = pascal_block { ( _1 )} | _1 = pasqual_block { ( _1 )} | _1 = fc_block { ( _1 )} | _1 = generic_block { ( _1 )} pascal_block: | _1 = TokLt _2 = TokLanguage _3 = TokEq _4 = TokPascal _5 = TokSource _6 = TokEq _7 = TokSourceString _8 = TokGt { ( parse_pascal (fst _7) )} pasqual_block: | _1 = TokLt _2 = TokLanguage _3 = TokEq _4 = TokPasqual _5 = TokSource _6 = TokEq _7 = TokSourceString _8 = TokGt { ( parse_pasqual (fst _7) )} fc_block: | _1 = TokLt _2 = TokLanguage _3 = TokEq _4 = TokFC _5 = TokSource _6 = TokEq _7 = TokSourceString _8 = TokGt { ( parse_fc (fst _7) )} generic_block: | _1 = TokLt _2 = TokLanguage _3 = TokEq _4 = TokString _5 = TokSource _6 = TokEq _7 = TokSourceString _8 = TokGt { ( match String.lowercase (fst _4) with "pascal" -> parse_pascal (fst _7) | "pasqual" -> parse_pasqual (fst _7) | "c" | "fc" -> parse_fc (fst _7) | _ -> print_string ("warning: block ignored (no front-end is found for " ^ (fst _4) ^ ")\n"); [] )} %%