1*357f1050SThomas Veerman /* 2*357f1050SThomas Veerman * This file is part of flex. 3*357f1050SThomas Veerman * 4*357f1050SThomas Veerman * Redistribution and use in source and binary forms, with or without 5*357f1050SThomas Veerman * modification, are permitted provided that the following conditions 6*357f1050SThomas Veerman * are met: 7*357f1050SThomas Veerman * 8*357f1050SThomas Veerman * 1. Redistributions of source code must retain the above copyright 9*357f1050SThomas Veerman * notice, this list of conditions and the following disclaimer. 10*357f1050SThomas Veerman * 2. Redistributions in binary form must reproduce the above copyright 11*357f1050SThomas Veerman * notice, this list of conditions and the following disclaimer in the 12*357f1050SThomas Veerman * documentation and/or other materials provided with the distribution. 13*357f1050SThomas Veerman * 14*357f1050SThomas Veerman * Neither the name of the University nor the names of its contributors 15*357f1050SThomas Veerman * may be used to endorse or promote products derived from this software 16*357f1050SThomas Veerman * without specific prior written permission. 17*357f1050SThomas Veerman * 18*357f1050SThomas Veerman * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 19*357f1050SThomas Veerman * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 20*357f1050SThomas Veerman * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21*357f1050SThomas Veerman * PURPOSE. 22*357f1050SThomas Veerman */ 23*357f1050SThomas Veerman 24*357f1050SThomas Veerman /* A dummy template parser to build "parser.c" and "parser.h". 25*357f1050SThomas Veerman How to compile: 26*357f1050SThomas Veerman bison --defines --output-file="parser.c" --name-prefix="test" parser.y 27*357f1050SThomas Veerman */ 28*357f1050SThomas Veerman %{ 29*357f1050SThomas Veerman #include <stdio.h> 30*357f1050SThomas Veerman #include <stdlib.h> 31*357f1050SThomas Veerman #include "config.h" 32*357f1050SThomas Veerman 33*357f1050SThomas Veerman #define YYERROR_VERBOSE 1 /* For debugging. */ 34*357f1050SThomas Veerman /* #define YYPARSE_PARAM scanner */ /* For pure bison parser. */ 35*357f1050SThomas Veerman /* #define YYLEX_PARAM scanner */ /* For reentrant flex. */ 36*357f1050SThomas Veerman 37*357f1050SThomas Veerman 38*357f1050SThomas Veerman int yyerror(char* msg); 39*357f1050SThomas Veerman extern int testlex(); 40*357f1050SThomas Veerman 41*357f1050SThomas Veerman %} 42*357f1050SThomas Veerman 43*357f1050SThomas Veerman %% 44*357f1050SThomas Veerman 45*357f1050SThomas Veerman rule: ; 46*357f1050SThomas Veerman 47*357f1050SThomas Veerman %% 48*357f1050SThomas Veerman 49*357f1050SThomas Veerman int yyerror(char* msg) { 50*357f1050SThomas Veerman fprintf(stderr,"%s\n",msg); 51*357f1050SThomas Veerman return 0; 52*357f1050SThomas Veerman } 53*357f1050SThomas Veerman 54*357f1050SThomas Veerman /* 55*357f1050SThomas Veerman int 56*357f1050SThomas Veerman main ( int argc, char** argv ) 57*357f1050SThomas Veerman { 58*357f1050SThomas Veerman yyparse (); 59*357f1050SThomas Veerman return 0; 60*357f1050SThomas Veerman } 61*357f1050SThomas Veerman */ 62