env["CFLAGS"] += ['-DLEAK_DETECT_LEVEL=1', '--std=c99', '-Wall', '-Wextra']#, '-Werror']
env["CPPPATH"] += Dir['modules/libcds/source/**/'] + [
'modules/libopts/source',
- 'source/libparse/',
- 'source/sclpl/',
+ 'source/',
]
end
#------------------------------------------------------------------------------
# Release Build Targets
#------------------------------------------------------------------------------
-# Build options parsing and data structures library
-main_env.Library('build/lib/libcds.a', FileList['modules/libcds/source/**/*.c'])
-main_env.Library('build/lib/libopts.a', FileList['modules/libopts/source/**/*.c'])
-runtime_libs = ['build/lib/libopts.a', 'build/lib/libcds.a']
+# Build the compiler
+sources = FileList['source/*.c', 'modules/libopts/source/*.c']
+main_env.Program('build/bin/sclpl', sources)
-# Build the parser as a library
-compiler_libs = ['build/lib/libparse.a'] + runtime_libs
-main_env.Library('build/lib/libparse.a', FileList['source/libparse/*.c'])
-main_env.Program('build/bin/sclpl', FileList['source/sclpl/*.c'] + compiler_libs)
-
-# Build the sclpl runtime library
+# Build the runtime library
main_env.Library('build/lib/libsrt.a', FileList['source/runtime/*.c'])
main_env.Install('build/include/sclpl.h', 'source/runtime/sclpl.h')
# Test Build Targets
#------------------------------------------------------------------------------
if Opts[:profile].include? "test"
- compiler_libs = ['build/lib/libparse-test.a'] + runtime_libs
- test_env.Library('build/lib/libparse-test.a', FileList['source/libparse/*.c'])
- test_env.Program('build/bin/sclpl-test', FileList['source/sclpl/*.c'] + compiler_libs)
+ test_env.Program('build/bin/sclpl-test', sources)
test_env.Command('RSpec', [], 'CMD' => [
'rspec', '--pattern', 'spec/**{,/*/**}/*_spec.rb', '--format', 'documentation'])
end
/**
- @file libparse.h
+ @file sclpl.h
*/
-#ifndef LIBPARSE_H
-#define LIBPARSE_H
+#ifndef SCLPL_H
+#define SCLPL_H
#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
-#include <stdio.h>
#include <stdlib.h>
+#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
#include <setjmp.h>
+#include <opts.h>
/* Garbage Collection
*****************************************************************************/
// Grammar Routines
AST* toplevel(Parser* p);
-#endif /* LIBPARSE_H */
+/* Pretty Printing
+ *****************************************************************************/
+void pprint_token_type(FILE* file, Tok* token);
+void pprint_token_value(FILE* file, Tok* token);
+void pprint_token(FILE* file, Tok* token, bool print_loc);
+//void pprint_tree(FILE* file, AST* tree, int depth);
+
+#endif /* SCLPL_H */
+++ /dev/null
-/**
- @file sclpl.h
-*/
-#ifndef SCLPL_H
-#define SCLPL_H
-
-#include <opts.h>
-#include <libparse.h>
-#include <stdio.h>
-
-/* Pretty Printing Data Structures */
-void pprint_token_type(FILE* file, Tok* token);
-void pprint_token_value(FILE* file, Tok* token);
-void pprint_token(FILE* file, Tok* token, bool print_loc);
-//void pprint_tree(FILE* file, AST* tree, int depth);
-
-#endif /* SCLPL_H */