summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2015-10-21 15:14:27 +0800
committerTing-Wei Lan <lantw44@gmail.com>2015-10-21 15:41:21 +0800
commitaba262ecc68beb3dc9e7d4dda65f334fc3186a70 (patch)
tree118382ff0021ab1be180ff00e8de1e138c299ec0
parent8ceebecec39fd3eec6ba38fa5293222dbd246a83 (diff)
downloadcompiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.tar
compiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.tar.gz
compiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.tar.bz2
compiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.tar.lz
compiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.tar.xz
compiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.tar.zst
compiler2015-aba262ecc68beb3dc9e7d4dda65f334fc3186a70.zip
Move main function to a separate file
-rw-r--r--Makefile.am7
-rw-r--r--lexer.l12
-rw-r--r--main.c14
3 files changed, 21 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am
index fe67f74..47272e3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,8 +6,15 @@ EXTRA_DIST = autogen.sh
bin_PROGRAMS = scanner
+scanner_LFLAGS = --header-file=lexer.h
scanner_SOURCES = \
+ main.c \
+ lexer.h \
lexer.l \
symbol-table.h \
symbol-table.c \
$(NULL)
+
+lexer.h: scanner-lexer.c
+
+BUILT_SOURCES = lexer.h
diff --git a/lexer.l b/lexer.l
index fa86a97..ee934bb 100644
--- a/lexer.l
+++ b/lexer.l
@@ -1,6 +1,5 @@
%option noyywrap
%{
-#include <stdio.h>
#include <string.h>
#include "symbol-table.h"
@@ -145,15 +144,4 @@ ERROR .
%%
-int main(int argc, char **argv)
-{
- if (argc > 1)
- yyin = fopen(argv[1], "r");
- else
- yyin = stdin;
- yylex();
- printSymTab();
- return 0;
-}
-
// vim: set sw=4 ts=4 sts=4 et:
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..2f939d9
--- /dev/null
+++ b/main.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include "lexer.h"
+#include "symbol-table.h"
+
+int main(int argc, char **argv)
+{
+ if (argc > 1)
+ yyin = fopen(argv[1], "r");
+ else
+ yyin = stdin;
+ yylex();
+ printSymTab();
+ return 0;
+}