diff options
author | millaway <millaway> | 2002-08-10 16:39:10 +0000 |
---|---|---|
committer | millaway <millaway> | 2002-08-10 16:39:10 +0000 |
commit | 95daedd07808b924488954d7963c8a4584fae108 (patch) | |
tree | 9242ffdd9f2126bef54b1226220c55d418138b57 /tests/test-table-opts | |
parent | 13faea3c809525d14b1aa586718b378a7a3c53aa (diff) | |
download | flex-95daedd07808b924488954d7963c8a4584fae108.tar.gz |
Added a test for various DFA table options.
Diffstat (limited to 'tests/test-table-opts')
-rw-r--r-- | tests/test-table-opts/.cvsignore | 9 | ||||
-rw-r--r-- | tests/test-table-opts/Makefile.am | 62 | ||||
-rw-r--r-- | tests/test-table-opts/scanner.l | 43 | ||||
-rw-r--r-- | tests/test-table-opts/test.input | 2 |
4 files changed, 116 insertions, 0 deletions
diff --git a/tests/test-table-opts/.cvsignore b/tests/test-table-opts/.cvsignore new file mode 100644 index 0000000..7a74a19 --- /dev/null +++ b/tests/test-table-opts/.cvsignore @@ -0,0 +1,9 @@ +Makefile +Makefile.in +parser.c +parser.h +scanner.c +TEMPLATE +OUTPUT +.deps +test-table-opts diff --git a/tests/test-table-opts/Makefile.am b/tests/test-table-opts/Makefile.am new file mode 100644 index 0000000..6441c66 --- /dev/null +++ b/tests/test-table-opts/Makefile.am @@ -0,0 +1,62 @@ +# 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. + +# ------------------------------------------------ +# This test is really a set of tests, one for +# each compression flag. -Ca, -Cem, etc.. +# ------------------------------------------------ + +BISON = @BISON@ +FLEX = $(top_builddir)/flex + +testname := test-table-opts +allopts := -Ca -Ce -Cf -CF -Cm -Cem +alltests := $(foreach opt,$(allopts),test-opt-r$(opt) test-opt-nr$(opt)) +alltestexe := $(addsuffix $(EXEEXT),$(alltests)) +alltestsrc := $(addsuffix .c,$(alltests)) +alltestobj := $(addsuffix .o,$(alltests)) + +EXTRA_DIST = scanner.l test.input +CLEANFILES = scanner.c OUTPUT $(alltestobj) $(alltestsrc) $(alltestexe) +INCLUDES = -I $(srcdir) -I $(top_srcdir) -I $(top_builddir) -I . + + +test-table-opts: $(alltests) + +test-opt-r%.c: $(srcdir)/scanner.l + $(FLEX) --reentrant $* -o $@ $< + +test-opt-nr%.c: $(srcdir)/scanner.l + $(FLEX) $* -o $@ $< + +test-opt%$(EXEEXT): test-opt%.o + $(CC) -o $@ $< $(LDFLAGS) + +test: $(alltestexe) + for t in $(alltestexe) ; do \ + ./$$t < $(srcdir)/test.input ; \ + done + +.c.o: + $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $(INCLUDES) $< + +.PHONY: test-table-opts +.SECONDARY: $(alltestobj) $(alltestsrc) diff --git a/tests/test-table-opts/scanner.l b/tests/test-table-opts/scanner.l new file mode 100644 index 0000000..7eaf4c3 --- /dev/null +++ b/tests/test-table-opts/scanner.l @@ -0,0 +1,43 @@ +/* + * 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 prefix="vvv" +%option nounput main noyywrap +%option warn + + +%% +foo|bar ; +[[:digit:]]+ ; +[[:blank:]]+ ; +.|\n ; +%% + diff --git a/tests/test-table-opts/test.input b/tests/test-table-opts/test.input new file mode 100644 index 0000000..aec9276 --- /dev/null +++ b/tests/test-table-opts/test.input @@ -0,0 +1,2 @@ +0000 foo 1111 foo 0000 bar foobar +0000 foo 1111 foo 0000 bar foobar |