diff options
author | Manoj Srivastava <srivasta@debian.org> | 2016-01-22 13:42:01 -0800 |
---|---|---|
committer | Manoj Srivastava <srivasta@debian.org> | 2016-01-22 13:42:01 -0800 |
commit | a646b6cd438dc4bd957c6c6afd89b5e8e59468fe (patch) | |
tree | fea00d61d8b525da028cbe906ac44bbdf5674d90 /tests/test-bison-yylval/parser.y | |
parent | 426e91fa66c2a2341d46f977ee351bd24ef3331c (diff) |
Imported Upstream version 2.6.0
Diffstat (limited to 'tests/test-bison-yylval/parser.y')
-rw-r--r-- | tests/test-bison-yylval/parser.y | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/tests/test-bison-yylval/parser.y b/tests/test-bison-yylval/parser.y deleted file mode 100644 index 0ffdb89..0000000 --- a/tests/test-bison-yylval/parser.y +++ /dev/null @@ -1,80 +0,0 @@ -/* - * This file is part of flex. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. - */ - -/* Accepts html-like input. - How to compile: - bison --defines --output-file="parser.c" --name-prefix="test" parser.y - */ -%parse-param { void* scanner } -%{ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include "config.h" - -#define YYERROR_VERBOSE 1 -#define YYLEX_PARAM scanner - - -/* A dummy function. A check against seg-faults in yylval->str. */ -int process_text(char* s) { - int total =0; - while(*s) { - total += (int) *s; - ++s; - } - return total; -} - - -%} - -%pure_parser - -%union { - long unused; - char * str; -} - -%token <str> TAGNAME TEXT -%token LT -%token GT -%token LTSLASH "</" - -%% - -html: - TEXT { process_text($1); free($1);} - | starttag html endtag - | html TEXT { process_text($2); free($2);} - | html starttag html endtag - ; - -starttag: LT TAGNAME GT { process_text($2); free($2);} ; -endtag: LTSLASH TAGNAME GT { process_text($2);free($2);} ; -%% - -int yyerror(void* scanner, char* msg) { - fprintf(stderr,"%s\n",msg); - return 0; -} |