summaryrefslogtreecommitdiff
path: root/tests/test-table-opts
diff options
context:
space:
mode:
authormillaway <millaway>2002-08-10 16:39:10 +0000
committermillaway <millaway>2002-08-10 16:39:10 +0000
commit95daedd07808b924488954d7963c8a4584fae108 (patch)
tree9242ffdd9f2126bef54b1226220c55d418138b57 /tests/test-table-opts
parent13faea3c809525d14b1aa586718b378a7a3c53aa (diff)
downloadflex-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/.cvsignore9
-rw-r--r--tests/test-table-opts/Makefile.am62
-rw-r--r--tests/test-table-opts/scanner.l43
-rw-r--r--tests/test-table-opts/test.input2
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