ENV = os.environ,
CCFLAGS = [ '-explicit-use', '-I', 'inc'],
LDFLAGS = [],
+ TOOLS = [ 'mingw' ],
BUILDERS = {
'Program': scheme_linker,
'TestRunner': scheme_tester })
scheme.Program('build/slpkg', find_files('source/slpkg/','*.scm'))
# SCLPL Assembler
-c_cpp.Program('build/slas', find_files('source/slas/','*.c'))
+scheme.Program('build/slas', find_files('source/slas/','*.scm'))
# SCLPL Virtual Machine
c_cpp.Program('build/slvm', find_files('source/slvm/','*.c'))
+++ /dev/null
-#include <stdio.h>
-
-static int assemble_file(char* infile, char* outfile);
-static int generate_bytecode(FILE* ifh, FILE* ofh);
-
-static char usage[] =
- "\nUsage: slas <INFILE> <OUTFILE>\n\n"
- "Assemble <INFILE> to SCLPL bytecode and write the result to <OUTFILE>.\n" ;
-
-static char buffer[1024] = { 0 };
-
-int main(int argc, char** argv)
-{
- int ret = 0;
- if (argc == 3)
- {
- ret = assemble_file(argv[1],argv[2]);
- }
- else
- {
- puts(usage);
- }
- return ret;
-}
-
-static int assemble_file(char* infile, char* outfile)
-{
- int ret = 1;
- FILE* ifh = fopen(infile, "r");
- FILE* ofh = fopen(outfile, "w");
- if (ifh && ofh)
- {
- ret = generate_bytecode(ifh,ofh);
- }
- fclose(ifh);
- fclose(ofh);
- fclose(NULL);
- return ret;
-}
-
-static int generate_bytecode(FILE* ifh, FILE* ofh)
-{
- int ret = 0;
- //asm_ctx_t context;
- //asm_init(&context);
- while(!feof(ifh))
- {
- if (fgets(buffer,1023,ifh))
- {
- puts(buffer);
- }
- else
- {
- ret = 1;
- break;
- }
- }
- return ret;
-}
-
-
--- /dev/null
+(declare (uses library))
+
+(define usage
+"\nUsage: slas <INFILE> <OUTFILE>
+
+Assemble <INFILE> to SCLPL bytecode and write the result to <OUTFILE>.\n")
+
+; Control Routines
+;------------------------------------------------------------------------------
+(define (assemble-file infile outfile)
+ (define iprt (open-input-file infile))
+ (define oprt (open-output-file outfile))
+ (generate-bytecode iprt oprt))
+
+(define (generate-bytecode iprt oprt) '())
+
+; Main routine
+;------------------------------------------------------------------------------
+(if (= 2 (length (command-line-arguments)))
+ (apply assemble-file (command-line-arguments))
+ (print usage))
+(exit)