From 6822400f32e05ba0f5a00499ddb4e8ba0ebd9202 Mon Sep 17 00:00:00 2001 From: John Millaway Date: Tue, 9 Jul 2002 16:37:04 +0000 Subject: Made yy_flex_debug non-global in reentrant scanner. Created get/set functions for yy_flex_debug. Defined prefixes for new yy_flex_debug symbols. Added tests/ for yy_flex_debug. --- tests/test-debug-r/.cvsignore | 9 +++++++ tests/test-debug-r/Makefile.am | 44 ++++++++++++++++++++++++++++++++ tests/test-debug-r/scanner.l | 57 ++++++++++++++++++++++++++++++++++++++++++ tests/test-debug-r/test.input | 2 ++ 4 files changed, 112 insertions(+) create mode 100644 tests/test-debug-r/.cvsignore create mode 100644 tests/test-debug-r/Makefile.am create mode 100644 tests/test-debug-r/scanner.l create mode 100644 tests/test-debug-r/test.input (limited to 'tests/test-debug-r') diff --git a/tests/test-debug-r/.cvsignore b/tests/test-debug-r/.cvsignore new file mode 100644 index 0000000..d2b0c7c --- /dev/null +++ b/tests/test-debug-r/.cvsignore @@ -0,0 +1,9 @@ +Makefile +Makefile.in +parser.c +parser.h +scanner.c +TEMPLATE +OUTPUT +.deps +test-debug-r diff --git a/tests/test-debug-r/Makefile.am b/tests/test-debug-r/Makefile.am new file mode 100644 index 0000000..76595cd --- /dev/null +++ b/tests/test-debug-r/Makefile.am @@ -0,0 +1,44 @@ +# 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. + +BISON = @BISON@ +FLEX = $(top_builddir)/flex + +EXTRA_DIST = scanner.l test.input +CLEANFILES = scanner.c test-debug-r OUTPUT $(OBJS) +OBJS = scanner.o + +INCLUDES = -I $(srcdir) -I $(top_srcdir) -I $(top_builddir) -I . +#LDFLAGS = $(top_srcdir)/libfl.a + +testname = test-debug-r + +scanner.c: $(srcdir)/scanner.l + $(FLEX) $(LFLAGS) $< + +$(testname)$(EXEEXT): $(OBJS) + $(CC) -o $@ $(OBJS) $(LDFLAGS) + +test: $(testname)$(EXEEXT) + ./$(testname)$(EXEEXT) < $(srcdir)/test.input + +.c.o: + $(CC) -c -o $@ $(INCLUDES) $< diff --git a/tests/test-debug-r/scanner.l b/tests/test-debug-r/scanner.l new file mode 100644 index 0000000..af85722 --- /dev/null +++ b/tests/test-debug-r/scanner.l @@ -0,0 +1,57 @@ +/* + * 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. + */ + +%{ +/* A template scanner file to build "scanner.c". */ +#include +#include +#include "config.h" + +%} + +%option 8bit outfile="scanner.c" prefix="test" +%option nounput nomain noyywrap +%option warn debug reentrant + +%% +.+ { } +\n { } +%% + +int main (int argc, char** argv ) +{ + yyscan_t lexer; + yylex_init( &lexer ); + yyset_out ( stdout,lexer); + yyset_in ( stdin, lexer); + + /* Just see if the next line compiles. */ + testset_debug (testget_debug(lexer), lexer); + + while( yylex(lexer) ) + { + } + yylex_destroy( lexer ); + printf("TEST RETURNING OK.\n"); + return 0; +} diff --git a/tests/test-debug-r/test.input b/tests/test-debug-r/test.input new file mode 100644 index 0000000..8d6476c --- /dev/null +++ b/tests/test-debug-r/test.input @@ -0,0 +1,2 @@ +Any input will do for this test. +We are only testing if it actually runs in debug mode. -- cgit v1.2.3