From cbc3be0304fd4e05efd1dc91d6ac311d8b5ce3f3 Mon Sep 17 00:00:00 2001 From: steve Date: Sun, 11 Mar 2001 22:42:11 +0000 Subject: [PATCH] Functor values and propagation. --- vvp/.cvsignore | 1 + vvp/Makefile.in | 8 +++- vvp/README.txt | 50 ++++++++++++++++++++-- vvp/compile.cc | 37 +++++++++++++++-- vvp/compile.h | 7 +++- vvp/draw_tt.c | 107 ++++++++++++++++++++++++++++++++++++++++++++++++ vvp/functor.cc | 89 ++++++++++++++++++++++++++++++++++++++-- vvp/functor.h | 35 +++++++++++++++- vvp/functor.txt | 30 ++++++++++++++ vvp/parse.y | 10 ++--- vvp/schedule.cc | 47 ++++++++++++++++++--- vvp/schedule.h | 25 ++++++++++- vvp/vthread.cc | 34 +++++++++++++-- 13 files changed, 448 insertions(+), 32 deletions(-) create mode 100644 vvp/draw_tt.c create mode 100644 vvp/functor.txt diff --git a/vvp/.cvsignore b/vvp/.cvsignore index bba39f870..39e34b774 100644 --- a/vvp/.cvsignore +++ b/vvp/.cvsignore @@ -8,4 +8,5 @@ lexor.cc parse.cc parse.cc.output parse.h +tables.cc vvp diff --git a/vvp/Makefile.in b/vvp/Makefile.in index 9f8f34be8..505c3f57c 100644 --- a/vvp/Makefile.in +++ b/vvp/Makefile.in @@ -16,7 +16,7 @@ # 59 Temple Place - Suite 330 # Boston, MA 02111-1307, USA # -#ident "$Id: Makefile.in,v 1.1 2001/03/11 00:29:38 steve Exp $" +#ident "$Id: Makefile.in,v 1.2 2001/03/11 22:42:11 steve Exp $" # # SHELL = /bin/sh @@ -52,7 +52,7 @@ distclean: clean rm -f config.h Makefile config.cache config.log config.status O = main.o parse.o parse_misc.o lexor.o compile.o functor.o symbols.o \ -codes.o vthread.o schedule.o +codes.o vthread.o schedule.o tables.o vvp: $O $(CXX) $(CXXFLAGS) $(LDFLAGS) -o vvp $O @@ -63,6 +63,10 @@ vvp: $O $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MD -c $< -o $*.o mv $*.d dep/$*.d +tables.cc: draw_tt.c + $(CC) -o draw_tt draw_tt.c + ./draw_tt > tables.cc + rm draw_tt lexor.o: lexor.cc parse.h diff --git a/vvp/README.txt b/vvp/README.txt index d60b62092..092ac5d47 100644 --- a/vvp/README.txt +++ b/vvp/README.txt @@ -19,7 +19,7 @@ Every statement is terminated by a semicolon. The semicolon is also the start of a comment line, so you can put comment text after the semicolon that terminates a statement. Like so: - Label .functor and, x, y ; This is a comment. + Label .functor and, 0x5a, x, y ; This is a comment. The semicolon is required, whether the comment is there or not. @@ -59,15 +59,20 @@ label is required for functors. The general syntax of a functor is: -