From: Michael D. Lowis Date: Sat, 10 Oct 2015 03:00:20 +0000 (-0400) Subject: flattened source directory structure X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=a575f935af31018431fa75fe0abb961fd7f20cab;p=proto%2Fsclpl.git flattened source directory structure --- diff --git a/build.rb b/build.rb index e441e51..adfac4e 100755 --- a/build.rb +++ b/build.rb @@ -49,8 +49,7 @@ base_env = BuildEnv.new do |env| 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 @@ -77,17 +76,11 @@ 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') @@ -95,9 +88,7 @@ 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 diff --git a/source/libparse/ast.c b/source/ast.c similarity index 99% rename from source/libparse/ast.c rename to source/ast.c index 947fcf2..2b8769d 100644 --- a/source/libparse/ast.c +++ b/source/ast.c @@ -1,4 +1,4 @@ -#include +#include AST* Require(char* name) { diff --git a/source/libparse/gc.c b/source/gc.c similarity index 99% rename from source/libparse/gc.c rename to source/gc.c index abd90a1..24ded9a 100644 --- a/source/libparse/gc.c +++ b/source/gc.c @@ -1,4 +1,4 @@ -#include +#include typedef struct obj_t { uintptr_t refs; diff --git a/source/libparse/grammar.c b/source/grammar.c similarity index 99% rename from source/libparse/grammar.c rename to source/grammar.c index 96e3537..3c8d7f2 100644 --- a/source/libparse/grammar.c +++ b/source/grammar.c @@ -4,7 +4,7 @@ $Revision$ $HeadURL$ */ -#include +#include static AST* require(Parser* p); static AST* type_annotation(Parser* p); diff --git a/source/libparse/lexer.c b/source/lexer.c similarity index 99% rename from source/libparse/lexer.c rename to source/lexer.c index 1952084..7dd08c2 100644 --- a/source/libparse/lexer.c +++ b/source/lexer.c @@ -4,7 +4,7 @@ $Revision$ $HeadURL$ */ -#include +#include static char* dupstring(const char* old) { size_t length = strlen(old); diff --git a/source/sclpl/main.c b/source/main.c similarity index 99% rename from source/sclpl/main.c rename to source/main.c index 7d0e6fc..5a53e0d 100644 --- a/source/sclpl/main.c +++ b/source/main.c @@ -1,4 +1,3 @@ -#include #include /* Command Line Options diff --git a/source/libparse/parser.c b/source/parser.c similarity index 99% rename from source/libparse/parser.c rename to source/parser.c index a5e81ac..1875ce7 100644 --- a/source/libparse/parser.c +++ b/source/parser.c @@ -4,7 +4,7 @@ $Revision$ $HeadURL$ */ -#include +#include Tok tok_eof = { NULL, 0, 0, T_END_FILE, {0} }; diff --git a/source/sclpl/pprint.c b/source/pprint.c similarity index 100% rename from source/sclpl/pprint.c rename to source/pprint.c diff --git a/source/libparse/libparse.h b/source/sclpl.h similarity index 91% rename from source/libparse/libparse.h rename to source/sclpl.h index 7113321..9ce9ff0 100644 --- a/source/libparse/libparse.h +++ b/source/sclpl.h @@ -1,18 +1,19 @@ /** - @file libparse.h + @file sclpl.h */ -#ifndef LIBPARSE_H -#define LIBPARSE_H +#ifndef SCLPL_H +#define SCLPL_H #include #include #include -#include #include +#include #include #include #include #include +#include /* Garbage Collection *****************************************************************************/ @@ -193,4 +194,11 @@ bool expect_str(Parser* p_parser, TokType type, const char* p_text); // 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 */ diff --git a/source/sclpl/sclpl.h b/source/sclpl/sclpl.h deleted file mode 100644 index 32ea246..0000000 --- a/source/sclpl/sclpl.h +++ /dev/null @@ -1,17 +0,0 @@ -/** - @file sclpl.h -*/ -#ifndef SCLPL_H -#define SCLPL_H - -#include -#include -#include - -/* 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 */