Skip to content

Commit d747469

Browse files
Marc-Oliver GewaltigMarc-Oliver Gewaltig
authored andcommitted
Basic interpreter loop is running.
1 parent 2be7a81 commit d747469

31 files changed

+3003
-532
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
*.o
22
sli
3+
test_dictionary
4+
test_token

base.mk

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ LDLIBS= -lstdc++
2525
LDFLAGS= $(GDB) $(LDLIBS) $(LIBREADLINE)
2626

2727
TARGET= sli3
28-
OBJS= sli_main.o\
29-
sli_array.o\
28+
OBJS= sli_array.o\
3029
sli_token.o\
3130
sli_type.o\
3231
sli_arraytype.o\
@@ -50,13 +49,16 @@ OBJS= sli_main.o\
5049

5150
SOURCES = ${OBJS:.o=.cpp}
5251

53-
all:
54-
${MAKE} -f base.mk makefile "CFLAGS=${CFLAGS}"
55-
${MAKE} ${OBJS}
56-
${MAKE} sli
52+
all: makefile sli test_token test_dictionary
5753

58-
sli: ${OBJS}
59-
${CC} -o $@ ${OBJS} ${LDFLAGS}
54+
sli: ${OBJS} sli_main.o
55+
${CC} -o $@ ${OBJS} sli_main.o ${LDFLAGS}
56+
57+
test_token: ${OBJS} test_token.o
58+
${CC} -o $@ ${OBJS} $@.o ${LDFLAGS}
59+
60+
test_dictionary: ${OBJS} test_dictionary.o
61+
${CC} -o $@ ${OBJS} $@.o ${LDFLAGS}
6062

6163
.cc.o:
6264
${CC} ${CFLAGS} -c $*.cc

makefile

Lines changed: 127 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ LDLIBS= -lstdc++
2525
LDFLAGS= $(GDB) $(LDLIBS) $(LIBREADLINE)
2626

2727
TARGET= sli3
28-
OBJS= sli_main.o\
29-
sli_array.o\
28+
OBJS= sli_array.o\
3029
sli_token.o\
3130
sli_type.o\
3231
sli_arraytype.o\
@@ -50,13 +49,16 @@ OBJS= sli_main.o\
5049

5150
SOURCES = ${OBJS:.o=.cpp}
5251

53-
all:
54-
${MAKE} -f base.mk makefile "CFLAGS=${CFLAGS}"
55-
${MAKE} ${OBJS}
56-
${MAKE} sli
52+
all: makefile sli test_token test_dictionary
5753

58-
sli: ${OBJS}
59-
${CC} -o $@ ${OBJS} ${LDFLAGS}
54+
sli: ${OBJS} sli_main.o
55+
${CC} -o $@ ${OBJS} sli_main.o ${LDFLAGS}
56+
57+
test_token: ${OBJS} test_token.o
58+
${CC} -o $@ ${OBJS} $@.o ${LDFLAGS}
59+
60+
test_dictionary: ${OBJS} test_dictionary.o
61+
${CC} -o $@ ${OBJS} $@.o ${LDFLAGS}
6062

6163
.cc.o:
6264
${CC} ${CFLAGS} -c $*.cc
@@ -69,115 +71,6 @@ makefile: base.mk
6971
@ ${CC} ${CFLAGS} -M ${SOURCES} >> $@
7072
@ chmod -w $@
7173
# Automatically-generated dependency list:
72-
sli_main.o: sli_main.cpp sli_interpreter.h sli_type.h \
73-
/usr/include/c++/4.2.1/string /usr/include/c++/4.2.1/bits/c++config.h \
74-
/usr/include/c++/4.2.1/bits/os_defines.h /usr/include/unistd.h \
75-
/usr/include/_types.h /usr/include/sys/_types.h \
76-
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
77-
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
78-
/usr/include/i386/_types.h /usr/include/sys/unistd.h \
79-
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
80-
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
81-
/usr/include/sys/_structs.h /usr/include/sys/_select.h \
82-
/usr/include/c++/4.2.1/bits/cpu_defines.h \
83-
/usr/include/c++/4.2.1/bits/stringfwd.h \
84-
/usr/include/c++/4.2.1/bits/char_traits.h \
85-
/usr/include/c++/4.2.1/cstring /usr/include/c++/4.2.1/cstddef \
86-
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/stddef.h \
87-
/usr/include/string.h /usr/include/strings.h \
88-
/usr/include/c++/4.2.1/bits/stl_algobase.h \
89-
/usr/include/c++/4.2.1/climits \
90-
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/limits.h \
91-
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/syslimits.h \
92-
/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include/limits.h \
93-
/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include/syslimits.h \
94-
/usr/include/limits.h /usr/include/machine/limits.h \
95-
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
96-
/usr/include/sys/syslimits.h /usr/include/c++/4.2.1/cstdlib \
97-
/usr/include/stdlib.h /usr/include/sys/wait.h /usr/include/sys/signal.h \
98-
/usr/include/machine/signal.h /usr/include/i386/signal.h \
99-
/usr/include/i386/_structs.h /usr/include/machine/_structs.h \
100-
/usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \
101-
/usr/include/machine/endian.h /usr/include/i386/endian.h \
102-
/usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
103-
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
104-
/usr/include/machine/types.h /usr/include/i386/types.h \
105-
/usr/include/i386/_types.h /usr/include/c++/4.2.1/iosfwd \
106-
/usr/include/c++/4.2.1/bits/c++locale.h /usr/include/c++/4.2.1/clocale \
107-
/usr/include/locale.h /usr/include/_locale.h \
108-
/usr/include/c++/4.2.1/cstdio /usr/include/stdio.h \
109-
/usr/include/c++/4.2.1/cstdarg \
110-
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/stdarg.h \
111-
/usr/include/c++/4.2.1/bits/c++io.h /usr/include/c++/4.2.1/bits/gthr.h \
112-
/usr/include/c++/4.2.1/bits/gthr-default.h /usr/include/pthread.h \
113-
/usr/include/pthread_impl.h /usr/include/sched.h /usr/include/time.h \
114-
/usr/include/_structs.h /usr/include/c++/4.2.1/cctype \
115-
/usr/include/ctype.h /usr/include/runetype.h \
116-
/usr/include/c++/4.2.1/bits/postypes.h /usr/include/c++/4.2.1/cwchar \
117-
/usr/include/c++/4.2.1/ctime /usr/include/wchar.h \
118-
/usr/include/_wctype.h /usr/include/stdint.h \
119-
/usr/include/c++/4.2.1/bits/functexcept.h \
120-
/usr/include/c++/4.2.1/exception_defines.h \
121-
/usr/include/c++/4.2.1/bits/stl_pair.h \
122-
/usr/include/c++/4.2.1/bits/cpp_type_traits.h \
123-
/usr/include/c++/4.2.1/ext/type_traits.h /usr/include/c++/4.2.1/utility \
124-
/usr/include/c++/4.2.1/bits/stl_relops.h \
125-
/usr/include/c++/4.2.1/bits/stl_iterator_base_types.h \
126-
/usr/include/c++/4.2.1/bits/stl_iterator_base_funcs.h \
127-
/usr/include/c++/4.2.1/bits/concept_check.h \
128-
/usr/include/c++/4.2.1/bits/stl_iterator.h \
129-
/usr/include/c++/4.2.1/debug/debug.h /usr/include/c++/4.2.1/memory \
130-
/usr/include/c++/4.2.1/bits/allocator.h \
131-
/usr/include/c++/4.2.1/bits/c++allocator.h \
132-
/usr/include/c++/4.2.1/ext/new_allocator.h /usr/include/c++/4.2.1/new \
133-
/usr/include/c++/4.2.1/exception \
134-
/usr/include/c++/4.2.1/bits/stl_construct.h \
135-
/usr/include/c++/4.2.1/bits/stl_uninitialized.h \
136-
/usr/include/c++/4.2.1/bits/stl_raw_storage_iter.h \
137-
/usr/include/c++/4.2.1/limits \
138-
/usr/include/c++/4.2.1/bits/ostream_insert.h \
139-
/usr/include/c++/4.2.1/bits/stl_function.h \
140-
/usr/include/c++/4.2.1/bits/basic_string.h \
141-
/usr/include/c++/4.2.1/ext/atomicity.h \
142-
/usr/include/c++/4.2.1/bits/atomic_word.h \
143-
/usr/include/c++/4.2.1/algorithm /usr/include/c++/4.2.1/bits/stl_algo.h \
144-
/usr/include/c++/4.2.1/bits/stl_heap.h \
145-
/usr/include/c++/4.2.1/bits/stl_tempbuf.h \
146-
/usr/include/c++/4.2.1/bits/basic_string.tcc sli_name.h \
147-
/usr/include/c++/4.2.1/cassert /usr/include/assert.h \
148-
/usr/include/c++/4.2.1/map /usr/include/c++/4.2.1/bits/stl_tree.h \
149-
/usr/include/c++/4.2.1/bits/stl_map.h \
150-
/usr/include/c++/4.2.1/bits/stl_multimap.h /usr/include/c++/4.2.1/deque \
151-
/usr/include/c++/4.2.1/bits/stl_deque.h \
152-
/usr/include/c++/4.2.1/bits/deque.tcc /usr/include/c++/4.2.1/iostream \
153-
/usr/include/c++/4.2.1/ostream /usr/include/c++/4.2.1/ios \
154-
/usr/include/c++/4.2.1/bits/localefwd.h \
155-
/usr/include/c++/4.2.1/bits/ios_base.h \
156-
/usr/include/c++/4.2.1/bits/locale_classes.h \
157-
/usr/include/c++/4.2.1/streambuf \
158-
/usr/include/c++/4.2.1/bits/streambuf.tcc \
159-
/usr/include/c++/4.2.1/bits/basic_ios.h \
160-
/usr/include/c++/4.2.1/bits/streambuf_iterator.h \
161-
/usr/include/c++/4.2.1/bits/locale_facets.h \
162-
/usr/include/c++/4.2.1/cwctype /usr/include/wctype.h \
163-
/usr/include/c++/4.2.1/bits/ctype_base.h \
164-
/usr/include/c++/4.2.1/bits/ctype_inline.h \
165-
/usr/include/c++/4.2.1/bits/codecvt.h \
166-
/usr/include/c++/4.2.1/bits/time_members.h \
167-
/usr/include/c++/4.2.1/bits/messages_members.h \
168-
/usr/include/c++/4.2.1/bits/basic_ios.tcc \
169-
/usr/include/c++/4.2.1/bits/ostream.tcc /usr/include/c++/4.2.1/locale \
170-
/usr/include/c++/4.2.1/bits/locale_facets.tcc \
171-
/usr/include/c++/4.2.1/typeinfo /usr/include/c++/4.2.1/istream \
172-
/usr/include/c++/4.2.1/bits/istream.tcc sli_token.h sli_exceptions.h \
173-
/usr/include/c++/4.2.1/vector /usr/include/c++/4.2.1/bits/stl_vector.h \
174-
/usr/include/c++/4.2.1/bits/stl_bvector.h \
175-
/usr/include/c++/4.2.1/bits/vector.tcc sli_allocator.h sli_arraytype.h \
176-
sli_array.h sli_integertype.h SLI_token.h sli_tokenstack.h \
177-
sli_dictionary.h sli_dictstack.h /usr/include/c++/4.2.1/list \
178-
/usr/include/c++/4.2.1/bits/stl_list.h \
179-
/usr/include/c++/4.2.1/bits/list.tcc sli_builtins.h sli_function.h \
180-
sli_parser.h sli_scanner.h sli_charcode.h sli_tokenutils.h
18174
sli_array.o: sli_array.cpp sli_array.h /usr/include/c++/4.2.1/typeinfo \
18275
/usr/include/c++/4.2.1/exception \
18376
/usr/include/c++/4.2.1/bits/c++config.h \
@@ -920,7 +813,11 @@ sli_nametype.o: sli_nametype.cpp sli_nametype.h sli_type.h \
920813
/usr/include/c++/4.2.1/bits/istream.tcc sli_token.h sli_exceptions.h \
921814
/usr/include/c++/4.2.1/vector /usr/include/c++/4.2.1/bits/stl_vector.h \
922815
/usr/include/c++/4.2.1/bits/stl_bvector.h \
923-
/usr/include/c++/4.2.1/bits/vector.tcc
816+
/usr/include/c++/4.2.1/bits/vector.tcc sli_interpreter.h \
817+
sli_allocator.h sli_arraytype.h sli_array.h sli_integertype.h \
818+
SLI_token.h sli_tokenstack.h sli_dictionary.h sli_dictstack.h \
819+
/usr/include/c++/4.2.1/list /usr/include/c++/4.2.1/bits/stl_list.h \
820+
/usr/include/c++/4.2.1/bits/list.tcc sli_builtins.h sli_function.h
924821
sli_dicttype.o: sli_dicttype.cpp sli_token.h \
925822
/usr/include/c++/4.2.1/iostream /usr/include/c++/4.2.1/bits/c++config.h \
926823
/usr/include/c++/4.2.1/bits/os_defines.h /usr/include/unistd.h \
@@ -2276,3 +2173,115 @@ sli_builtins.o: sli_builtins.cpp sli_builtins.h sli_function.h sli_name.h \
22762173
sli_dictionary.h sli_dictstack.h /usr/include/c++/4.2.1/list \
22772174
/usr/include/c++/4.2.1/bits/stl_list.h \
22782175
/usr/include/c++/4.2.1/bits/list.tcc sli_string.h
2176+
sli_control.o: sli_control.cpp sli_control.h sli_interpreter.h sli_type.h \
2177+
/usr/include/c++/4.2.1/string /usr/include/c++/4.2.1/bits/c++config.h \
2178+
/usr/include/c++/4.2.1/bits/os_defines.h /usr/include/unistd.h \
2179+
/usr/include/_types.h /usr/include/sys/_types.h \
2180+
/usr/include/sys/cdefs.h /usr/include/sys/_symbol_aliasing.h \
2181+
/usr/include/sys/_posix_availability.h /usr/include/machine/_types.h \
2182+
/usr/include/i386/_types.h /usr/include/sys/unistd.h \
2183+
/usr/include/Availability.h /usr/include/AvailabilityInternal.h \
2184+
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
2185+
/usr/include/sys/_structs.h /usr/include/sys/_select.h \
2186+
/usr/include/c++/4.2.1/bits/cpu_defines.h \
2187+
/usr/include/c++/4.2.1/bits/stringfwd.h \
2188+
/usr/include/c++/4.2.1/bits/char_traits.h \
2189+
/usr/include/c++/4.2.1/cstring /usr/include/c++/4.2.1/cstddef \
2190+
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/stddef.h \
2191+
/usr/include/string.h /usr/include/strings.h \
2192+
/usr/include/c++/4.2.1/bits/stl_algobase.h \
2193+
/usr/include/c++/4.2.1/climits \
2194+
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/limits.h \
2195+
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/syslimits.h \
2196+
/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include/limits.h \
2197+
/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include/syslimits.h \
2198+
/usr/include/limits.h /usr/include/machine/limits.h \
2199+
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
2200+
/usr/include/sys/syslimits.h /usr/include/c++/4.2.1/cstdlib \
2201+
/usr/include/stdlib.h /usr/include/sys/wait.h /usr/include/sys/signal.h \
2202+
/usr/include/machine/signal.h /usr/include/i386/signal.h \
2203+
/usr/include/i386/_structs.h /usr/include/machine/_structs.h \
2204+
/usr/include/mach/i386/_structs.h /usr/include/sys/resource.h \
2205+
/usr/include/machine/endian.h /usr/include/i386/endian.h \
2206+
/usr/include/sys/_endian.h /usr/include/libkern/_OSByteOrder.h \
2207+
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
2208+
/usr/include/machine/types.h /usr/include/i386/types.h \
2209+
/usr/include/i386/_types.h /usr/include/c++/4.2.1/iosfwd \
2210+
/usr/include/c++/4.2.1/bits/c++locale.h /usr/include/c++/4.2.1/clocale \
2211+
/usr/include/locale.h /usr/include/_locale.h \
2212+
/usr/include/c++/4.2.1/cstdio /usr/include/stdio.h \
2213+
/usr/include/c++/4.2.1/cstdarg \
2214+
/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin11/4.2.1/include/stdarg.h \
2215+
/usr/include/c++/4.2.1/bits/c++io.h /usr/include/c++/4.2.1/bits/gthr.h \
2216+
/usr/include/c++/4.2.1/bits/gthr-default.h /usr/include/pthread.h \
2217+
/usr/include/pthread_impl.h /usr/include/sched.h /usr/include/time.h \
2218+
/usr/include/_structs.h /usr/include/c++/4.2.1/cctype \
2219+
/usr/include/ctype.h /usr/include/runetype.h \
2220+
/usr/include/c++/4.2.1/bits/postypes.h /usr/include/c++/4.2.1/cwchar \
2221+
/usr/include/c++/4.2.1/ctime /usr/include/wchar.h \
2222+
/usr/include/_wctype.h /usr/include/stdint.h \
2223+
/usr/include/c++/4.2.1/bits/functexcept.h \
2224+
/usr/include/c++/4.2.1/exception_defines.h \
2225+
/usr/include/c++/4.2.1/bits/stl_pair.h \
2226+
/usr/include/c++/4.2.1/bits/cpp_type_traits.h \
2227+
/usr/include/c++/4.2.1/ext/type_traits.h /usr/include/c++/4.2.1/utility \
2228+
/usr/include/c++/4.2.1/bits/stl_relops.h \
2229+
/usr/include/c++/4.2.1/bits/stl_iterator_base_types.h \
2230+
/usr/include/c++/4.2.1/bits/stl_iterator_base_funcs.h \
2231+
/usr/include/c++/4.2.1/bits/concept_check.h \
2232+
/usr/include/c++/4.2.1/bits/stl_iterator.h \
2233+
/usr/include/c++/4.2.1/debug/debug.h /usr/include/c++/4.2.1/memory \
2234+
/usr/include/c++/4.2.1/bits/allocator.h \
2235+
/usr/include/c++/4.2.1/bits/c++allocator.h \
2236+
/usr/include/c++/4.2.1/ext/new_allocator.h /usr/include/c++/4.2.1/new \
2237+
/usr/include/c++/4.2.1/exception \
2238+
/usr/include/c++/4.2.1/bits/stl_construct.h \
2239+
/usr/include/c++/4.2.1/bits/stl_uninitialized.h \
2240+
/usr/include/c++/4.2.1/bits/stl_raw_storage_iter.h \
2241+
/usr/include/c++/4.2.1/limits \
2242+
/usr/include/c++/4.2.1/bits/ostream_insert.h \
2243+
/usr/include/c++/4.2.1/bits/stl_function.h \
2244+
/usr/include/c++/4.2.1/bits/basic_string.h \
2245+
/usr/include/c++/4.2.1/ext/atomicity.h \
2246+
/usr/include/c++/4.2.1/bits/atomic_word.h \
2247+
/usr/include/c++/4.2.1/algorithm /usr/include/c++/4.2.1/bits/stl_algo.h \
2248+
/usr/include/c++/4.2.1/bits/stl_heap.h \
2249+
/usr/include/c++/4.2.1/bits/stl_tempbuf.h \
2250+
/usr/include/c++/4.2.1/bits/basic_string.tcc sli_name.h \
2251+
/usr/include/c++/4.2.1/cassert /usr/include/assert.h \
2252+
/usr/include/c++/4.2.1/map /usr/include/c++/4.2.1/bits/stl_tree.h \
2253+
/usr/include/c++/4.2.1/bits/stl_map.h \
2254+
/usr/include/c++/4.2.1/bits/stl_multimap.h /usr/include/c++/4.2.1/deque \
2255+
/usr/include/c++/4.2.1/bits/stl_deque.h \
2256+
/usr/include/c++/4.2.1/bits/deque.tcc /usr/include/c++/4.2.1/iostream \
2257+
/usr/include/c++/4.2.1/ostream /usr/include/c++/4.2.1/ios \
2258+
/usr/include/c++/4.2.1/bits/localefwd.h \
2259+
/usr/include/c++/4.2.1/bits/ios_base.h \
2260+
/usr/include/c++/4.2.1/bits/locale_classes.h \
2261+
/usr/include/c++/4.2.1/streambuf \
2262+
/usr/include/c++/4.2.1/bits/streambuf.tcc \
2263+
/usr/include/c++/4.2.1/bits/basic_ios.h \
2264+
/usr/include/c++/4.2.1/bits/streambuf_iterator.h \
2265+
/usr/include/c++/4.2.1/bits/locale_facets.h \
2266+
/usr/include/c++/4.2.1/cwctype /usr/include/wctype.h \
2267+
/usr/include/c++/4.2.1/bits/ctype_base.h \
2268+
/usr/include/c++/4.2.1/bits/ctype_inline.h \
2269+
/usr/include/c++/4.2.1/bits/codecvt.h \
2270+
/usr/include/c++/4.2.1/bits/time_members.h \
2271+
/usr/include/c++/4.2.1/bits/messages_members.h \
2272+
/usr/include/c++/4.2.1/bits/basic_ios.tcc \
2273+
/usr/include/c++/4.2.1/bits/ostream.tcc /usr/include/c++/4.2.1/locale \
2274+
/usr/include/c++/4.2.1/bits/locale_facets.tcc \
2275+
/usr/include/c++/4.2.1/typeinfo /usr/include/c++/4.2.1/istream \
2276+
/usr/include/c++/4.2.1/bits/istream.tcc sli_token.h sli_exceptions.h \
2277+
/usr/include/c++/4.2.1/vector /usr/include/c++/4.2.1/bits/stl_vector.h \
2278+
/usr/include/c++/4.2.1/bits/stl_bvector.h \
2279+
/usr/include/c++/4.2.1/bits/vector.tcc sli_allocator.h sli_arraytype.h \
2280+
sli_array.h sli_integertype.h SLI_token.h sli_tokenstack.h \
2281+
sli_dictionary.h sli_dictstack.h /usr/include/c++/4.2.1/list \
2282+
/usr/include/c++/4.2.1/bits/stl_list.h \
2283+
/usr/include/c++/4.2.1/bits/list.tcc sli_builtins.h sli_function.h \
2284+
sli_scanner.h sli_charcode.h sli_parser.h sli_iostreamtype.h \
2285+
sli_functiontype.h /usr/include/sys/time.h /usr/include/sys/times.h \
2286+
/usr/include/c++/4.2.1/backward/strstream \
2287+
/usr/include/c++/4.2.1/backward/backward_warning.h

0 commit comments

Comments
 (0)