Commit d9b399da authored by Benoit Perrot's avatar Benoit Perrot
Browse files

Support automated generation.

parent 87cc2588
2003-06-29 Benot Perrot <benoit@lrde.epita.fr>
* Makefile.am, src/Makefile.am, src/misc/Makefile.am,
* src/parse/Makefile.am, src/task/Makefile.am, src/vm/Makefile.am:
Support automatic generation.
* README:
Document it.
2003-06-29 Benot Perrot <benoit@lrde.epita.fr> 2003-06-29 Benot Perrot <benoit@lrde.epita.fr>
* vm/table.hh, cpu.hh: * vm/table.hh, cpu.hh:
......
SUBDIRS = config src SUBDIRS = config src doc
EXTRA_DIST = \ EXTRA_DIST = \
dev/license.hh \ dev/license.hh \
...@@ -6,5 +6,6 @@ EXTRA_DIST = \ ...@@ -6,5 +6,6 @@ EXTRA_DIST = \
dev/mipsy.py \ dev/mipsy.py \
dev/mipsy-scanner-gen.py \ dev/mipsy-scanner-gen.py \
dev/mipsy-parser-gen.py \ dev/mipsy-parser-gen.py \
dev/mipsy-mk-inst-gen.py \
dev/mipsy-inst-gen.py \ dev/mipsy-inst-gen.py \
dev/mipsy-builder-gen.py dev/mipsy-builder-gen.py
File generation: Non-automated generation:
Must be automated in a near future. * To re-generate src/inst/Makefile.am, do:
* To generate the scanner, do: $ dev/mipsy-mk-inst-gen.py < dev/mipsy.xml > src/inst/Makefile.am
$ dev/mipsy-scanner-gen.py < dev/mipsy.xml > src/parse/asm-parse.ll
* To generate the parser, do:
$ dev/mipsy-parser-gen.py < dev/mipsy.xml > src/parse/asm-parse.yy
* To generate the instructions, do:
$ mkdir /tmp/inst
$ dev/mipsy-inst-gen.py < dev/mipsy.xml
$ mv -f /tmp/inst/* src/inst
* To generate the builder, do:
$ dev/mipsy-builder-gen.py < dev/mipsy.xml > src/inst/program_builder.hh
## ##
SUBDIRS = \ SUBDIRS = \
misc \ misc \
parse \
inst \ inst \
parse \
vm \ vm \
task task
## ##
INCLUDES = -I $(top_srcdir)/src INCLUDES = -I $(top_srcdir)/src -I $(top_builddir)/src
bin_PROGRAMS = mipsy bin_PROGRAMS = mipsy
......
INCLUDES = -I $(top_srcdir)/src INCLUDES = -I $(top_srcdir)/src -I $(top_builddir)/src
noinst_HEADERS = \ noinst_HEADERS = \
contract.hh \ contract.hh \
......
INCLUDES = -I $(srcdir)/.. INCLUDES = -I $(top_srcdir)/src -I $(top_builddir)/src
FROM_ASM_PARSE_YY = \ FROM_ASM_PARSE_YY = \
stack.hh position.hh location.hh \ stack.hh position.hh location.hh \
asm-parse.hh asm-parse.cc asm-parse.hh asm-parse.cc
BUILT_SOURCES = $(FROM_ASM_PARSE_YY) BUILT_SOURCES = \
MAINTAINERCLEANFILES = $(FROM_ASM_PARSE_YY) asm-scan.ll \
asm-parse.yy \
$(FROM_ASM_PARSE_YY)
MAINTAINERCLEANFILES = asm-scan.ll asm-scan.yy $(FROM_ASM_PARSE_YY)
asm-scan.ll: $(top_srcdir)/dev/mipsy-scanner-gen.py $(top_srcdir)/dev/mipsy.xml
$(top_srcdir)/dev/mipsy-scanner-gen.py < $(top_srcdir)/dev/mipsy.xml \
> $(srcdir)/$@
asm-parse.yy: $(top_srcdir)/dev/mipsy-parser-gen.py $(top_srcdir)/dev/mipsy.xml
$(top_srcdir)/dev/mipsy-parser-gen.py < $(top_srcdir)/dev/mipsy.xml \
> $(srcdir)/$@
$(FROM_ASM_PARSE_YY): $(srcdir)/asm-parse.yy $(FROM_ASM_PARSE_YY): $(srcdir)/asm-parse.yy
bison -S lalr1.cc -d -ra $(srcdir)/asm-parse.yy -o asm-parse.cc bison -S lalr1.cc -d -ra $(srcdir)/asm-parse.yy -o asm-parse.cc
......
INCLUDES = -I$(srcdir)/.. INCLUDES = -I$(top_srcdir)/src -I $(top_builddir)/src
noinst_LIBRARIES = libtask.a noinst_LIBRARIES = libtask.a
libtask_a_SOURCES = \ libtask_a_SOURCES = \
......
INCLUDES = -I $(srcdir)/.. INCLUDES = -I $(top_srcdir)/src -I $(top_builddir)/src
noinst_LIBRARIES = libvm.a noinst_LIBRARIES = libvm.a
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment