diff options
author | John Millaway <john43@users.sourceforge.net> | 2002-07-09 16:37:04 +0000 |
---|---|---|
committer | John Millaway <john43@users.sourceforge.net> | 2002-07-09 16:37:04 +0000 |
commit | 6822400f32e05ba0f5a00499ddb4e8ba0ebd9202 (patch) | |
tree | 6f75207a3da33803233747b4f3e32e84522c14f3 /tests | |
parent | feebeead86c59ab3ee13f0bd0e7a9fd830701caa (diff) |
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.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/test-debug-nr/.cvsignore | 9 | ||||
-rw-r--r-- | tests/test-debug-nr/Makefile.am | 44 | ||||
-rw-r--r-- | tests/test-debug-nr/scanner.l | 50 | ||||
-rw-r--r-- | tests/test-debug-nr/test.input | 2 | ||||
-rw-r--r-- | tests/test-debug-r/.cvsignore | 9 | ||||
-rw-r--r-- | tests/test-debug-r/Makefile.am | 44 | ||||
-rw-r--r-- | tests/test-debug-r/scanner.l | 57 | ||||
-rw-r--r-- | tests/test-debug-r/test.input | 2 |
9 files changed, 219 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 895dd72..4a32c24 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -26,6 +26,8 @@ noinst_SCRIPTS = \ create-test SUBDIRS = \ + test-debug-nr \ + test-debug-r \ test-lineno-r \ test-lineno-nr \ TEMPLATE \ diff --git a/tests/test-debug-nr/.cvsignore b/tests/test-debug-nr/.cvsignore new file mode 100644 index 0000000..689066f --- /dev/null +++ b/tests/test-debug-nr/.cvsignore @@ -0,0 +1,9 @@ +Makefile +Makefile.in +parser.c +parser.h +scanner.c +TEMPLATE +OUTPUT +.deps +test-debug-nr diff --git a/tests/test-debug-nr/Makefile.am b/tests/test-debug-nr/Makefile.am new file mode 100644 index 0000000..4096694 --- /dev/null +++ b/tests/test-debug-nr/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 scanner.h test-debug-nr OUTPUT $(OBJS) +OBJS = scanner.o + +INCLUDES = -I $(srcdir) -I $(top_srcdir) -I $(top_builddir) -I . +#LDFLAGS = $(top_srcdir)/libfl.a + +testname = test-debug-nr + +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-nr/scanner.l b/tests/test-debug-nr/scanner.l new file mode 100644 index 0000000..4a4a26f --- /dev/null +++ b/tests/test-debug-nr/scanner.l @@ -0,0 +1,50 @@ +/* + * 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 <stdio.h> +#include <stdlib.h> +#include "config.h" + +%} + +%option 8bit outfile="scanner.c" prefix="test" +%option nounput nomain noyywrap +%option warn debug + +%% +.+ { } +\n { } +%% + +int +main ( int argc, char** argv ) +{ + yyin = stdin; + yyout = stdout; + yy_flex_debug = 1; + yylex(); + printf("TEST RETURNING OK.\n"); + return 0; +} diff --git a/tests/test-debug-nr/test.input b/tests/test-debug-nr/test.input new file mode 100644 index 0000000..8d6476c --- /dev/null +++ b/tests/test-debug-nr/test.input @@ -0,0 +1,2 @@ +Any input will do for this test. +We are only testing if it actually runs in debug mode. 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 <stdio.h> +#include <stdlib.h> +#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. |