Minor reorganization
This commit is contained in:
parent
36d4632446
commit
951d259339
|
@ -28,6 +28,8 @@ Converted weird_string collection into a simpler form
|
|||
Inlined 2 small stubs as breaking them out wouldn't help implementation
|
||||
Reordered conditionals for easier implementation and reduced operations
|
||||
Broke out OUT and FUNCTION to silence a single GCC warning
|
||||
Moved required_match and line_error into cc_core.c and removed required_match.c
|
||||
Relocated contents of test/functions to functions
|
||||
|
||||
** Fixed
|
||||
Fixed detection of locals to screen out all non-primitive name space collisions
|
||||
|
|
56
cc_core.c
56
cc_core.c
|
@ -41,8 +41,9 @@ struct type* last_type;
|
|||
char* parse_string(char* string);
|
||||
int escape_lookup(char* c);
|
||||
char* numerate_number(int a);
|
||||
void require_match(char* message, char* required);
|
||||
void line_error();
|
||||
|
||||
|
||||
|
||||
|
||||
struct token_list* emit(char *s, struct token_list* head)
|
||||
{
|
||||
|
@ -54,7 +55,7 @@ struct token_list* emit(char *s, struct token_list* head)
|
|||
|
||||
void emit_out(char* s)
|
||||
{
|
||||
out = emit(s, out);
|
||||
out = emit(s, out);
|
||||
}
|
||||
|
||||
struct token_list* uniqueID(char* s, struct token_list* l, char* num)
|
||||
|
@ -68,13 +69,9 @@ struct token_list* uniqueID(char* s, struct token_list* l, char* num)
|
|||
|
||||
void uniqueID_out(char* s, char* num)
|
||||
{
|
||||
emit_out(s);
|
||||
emit_out("_");
|
||||
emit_out(num);
|
||||
emit_out("\n");
|
||||
out = uniqueID(s, out, num);
|
||||
}
|
||||
|
||||
|
||||
struct token_list* sym_declare(char *s, struct type* t, struct token_list* list)
|
||||
{
|
||||
struct token_list* a = calloc(1, sizeof(struct token_list));
|
||||
|
@ -94,6 +91,25 @@ struct token_list* sym_lookup(char *s, struct token_list* symbol_list)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void line_error()
|
||||
{
|
||||
file_print("In file: ", stderr);
|
||||
file_print(global_token->filename, stderr);
|
||||
file_print(" On line: ", stderr);
|
||||
file_print(numerate_number(global_token->linenumber), stderr);
|
||||
}
|
||||
|
||||
void require_match(char* message, char* required)
|
||||
{
|
||||
if(!match(global_token->s, required))
|
||||
{
|
||||
file_print(message, stderr);
|
||||
line_error();
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
global_token = global_token->next;
|
||||
}
|
||||
|
||||
void expression();
|
||||
void function_call(char* s, int bool)
|
||||
{
|
||||
|
@ -162,7 +178,10 @@ void variable_load(struct token_list* a)
|
|||
emit_out("LOAD_BASE_ADDRESS_eax %");
|
||||
emit_out(numerate_number(a->depth));
|
||||
emit_out("\n");
|
||||
if(!match("=", global_token->s) && !match("char**", a->type->name)) emit_out("LOAD_INTEGER\n");
|
||||
if(match("=", global_token->s)) return;
|
||||
if(match("char**", a->type->name)) return;
|
||||
|
||||
emit_out("LOAD_INTEGER\n");
|
||||
}
|
||||
|
||||
void function_load(struct token_list* a)
|
||||
|
@ -209,6 +228,7 @@ void primary_expr_failure()
|
|||
void primary_expr_string()
|
||||
{
|
||||
char* number_string = numerate_number(current_count);
|
||||
current_count = current_count + 1;
|
||||
emit_out("LOAD_IMMEDIATE_eax &STRING_");
|
||||
uniqueID_out(function->s, number_string);
|
||||
|
||||
|
@ -219,21 +239,12 @@ void primary_expr_string()
|
|||
/* Parse the string */
|
||||
strings_list = emit(parse_string(global_token->s), strings_list);
|
||||
global_token = global_token->next;
|
||||
|
||||
current_count = current_count + 1;
|
||||
}
|
||||
|
||||
void primary_expr_char()
|
||||
{
|
||||
emit_out("LOAD_IMMEDIATE_eax %");
|
||||
if('\\' == global_token->s[1])
|
||||
{
|
||||
emit_out(numerate_number(escape_lookup(global_token->s + 1)));
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_out(numerate_number(global_token->s[1]));
|
||||
}
|
||||
emit_out(numerate_number(escape_lookup(global_token->s + 1)));
|
||||
emit_out("\n");
|
||||
global_token = global_token->next;
|
||||
}
|
||||
|
@ -1099,9 +1110,10 @@ new_type:
|
|||
if (NULL == global_token) return out;
|
||||
if(match("CONSTANT", global_token->s))
|
||||
{
|
||||
global_constant_list = sym_declare(global_token->next->s, NULL, global_constant_list);
|
||||
global_constant_list->arguments = global_token->next->next;
|
||||
global_token = global_token->next->next->next;
|
||||
global_token = global_token->next;
|
||||
global_constant_list = sym_declare(global_token->s, NULL, global_constant_list);
|
||||
global_constant_list->arguments = global_token->next;
|
||||
global_token = global_token->next->next;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
/* Copyright (C) 2016 Jeremiah Orians
|
||||
* This file is part of stage0.
|
||||
*
|
||||
* stage0 is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* stage0 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with stage0. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "../cc.h"
|
||||
char* numerate_number(int a);
|
||||
|
||||
void line_error()
|
||||
{
|
||||
file_print("In file: ", stderr);
|
||||
file_print(global_token->filename, stderr);
|
||||
file_print(" On line: ", stderr);
|
||||
file_print(numerate_number(global_token->linenumber), stderr);
|
||||
}
|
||||
|
||||
void require_match(char* message, char* required)
|
||||
{
|
||||
if(!match(global_token->s, required))
|
||||
{
|
||||
file_print(message, stderr);
|
||||
line_error();
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
global_token = global_token->next;
|
||||
}
|
9
makefile
9
makefile
|
@ -8,11 +8,10 @@ CFLAGS=-D_GNU_SOURCE -O0 -std=c99 -ggdb
|
|||
|
||||
M2-Planet-gcc: cc_reader.c cc_strings.c cc_core.c cc.c cc_types.c cc.h | bin
|
||||
$(CC) $(CFLAGS) \
|
||||
test/functions/match.c \
|
||||
test/functions/numerate_number.c \
|
||||
test/functions/file_print.c \
|
||||
test/functions/string.c \
|
||||
functions/require_match.c \
|
||||
functions/match.c \
|
||||
functions/numerate_number.c \
|
||||
functions/file_print.c \
|
||||
functions/string.c \
|
||||
cc_reader.c \
|
||||
cc_strings.c \
|
||||
cc_types.c \
|
||||
|
|
|
@ -9,7 +9,7 @@ b45fae655b7f848b28ebdb8eb2e30ae789fbcf7920bc315395d53986bb1adae4 test/results/t
|
|||
d511db73158a9544a5b5f828a79751e3de8a04b81c143fd0c146fc22c938aa9f test/results/test08-binary
|
||||
907e1808f2e2b15ac72ebf13898b15c678e68ebd43d673dcd0f408d907e7962f test/results/test09-binary
|
||||
ef179cd359ba1d61d45089e314cd4ac2069c8dc4dd7494d7c766344ea3c8cf88 test/results/test10-binary
|
||||
0c76566ec86a381af8f2a1eb38bcb48d7dcaeaaa2bb03599b0b3043ad546e657 test/results/test100-binary
|
||||
bf1d76df4d3e701c420e031910ca0da3f390fb3b6d198a0b93349bdbc285adb7 test/results/test100-binary
|
||||
5aaf399fe706d4a8c85c121c75ada29a65c293b57c98e8999961a2ef0bab0d62 test/results/test11-binary
|
||||
4f8111e73e07255ae203963438c82ea8bcff7474e1594b52b426c58a03cb30eb test/results/test12-binary
|
||||
dd74dabfdce8657ff440c1eef531cbf67a64854f2020d4d6bcb65c9cc2d199cb test/results/test13-binary
|
||||
|
|
|
@ -6,7 +6,7 @@ bin/M2-Planet -f test/test00/return.c \
|
|||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test00/return.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test01/library_call.c \
|
||||
-o test/test01/library_call.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test01/library_call.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test02/if.c \
|
||||
-o test/test02/if.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test02/if.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test03/constant.c \
|
||||
-o test/test03/constant.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test03/constant.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test04/call.c \
|
||||
-o test/test04/call.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test04/call.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test05/string.c \
|
||||
-o test/test05/string.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test05/string.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f test/test06/for.c \
|
||||
-o test/test06/for.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test06/for.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test07/do.c \
|
||||
-o test/test07/do.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test07/do.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/malloc.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/malloc.c \
|
||||
-f test/test08/struct.c \
|
||||
-o test/test08/struct.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test08/struct.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test09/goto.c \
|
||||
-o test/test09/goto.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test09/goto.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/malloc.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/malloc.c \
|
||||
-f test/test10/nested_struct.c \
|
||||
-o test/test10/nested_struct.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test10/nested_struct.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -3,36 +3,34 @@ set -ex
|
|||
# Build the test
|
||||
if [ -f bin/M2-Planet ]
|
||||
then
|
||||
./bin/M2-Planet -f test/functions/file.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/match.c \
|
||||
-f test/functions/numerate_number.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/string.c \
|
||||
./bin/M2-Planet -f functions/file.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/match.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/string.c \
|
||||
-f cc.h \
|
||||
-f cc_reader.c \
|
||||
-f cc_strings.c \
|
||||
-f cc_types.c \
|
||||
-f functions/require_match.c \
|
||||
-f cc_core.c \
|
||||
-f cc.c \
|
||||
-o test/test100/cc.M1 || exit 1
|
||||
else
|
||||
./bin/M2-Planet-gcc -f test/functions/file.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/match.c \
|
||||
-f test/functions/numerate_number.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/string.c \
|
||||
./bin/M2-Planet-gcc -f functions/file.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/match.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/string.c \
|
||||
-f cc.h \
|
||||
-f cc_reader.c \
|
||||
-f cc_strings.c \
|
||||
-f cc_types.c \
|
||||
-f functions/require_match.c \
|
||||
-f cc_core.c \
|
||||
-f cc.c \
|
||||
-o test/test100/cc.M1 || exit 1
|
||||
|
@ -40,7 +38,7 @@ fi
|
|||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test100/cc.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
@ -53,19 +51,18 @@ hex2 -f test/common_x86/ELF-i386.hex2 -f test/test100/cc.hex2 --LittleEndian --A
|
|||
if [ "$(get_machine)" = "x86_64" ]
|
||||
then
|
||||
# Verify that the resulting file works
|
||||
./test/results/test100-binary -f test/functions/file.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/match.c \
|
||||
-f test/functions/numerate_number.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/string.c \
|
||||
./test/results/test100-binary -f functions/file.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/match.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/string.c \
|
||||
-f cc.h \
|
||||
-f cc_reader.c \
|
||||
-f cc_strings.c \
|
||||
-f cc_types.c \
|
||||
-f functions/require_match.c \
|
||||
-f cc_core.c \
|
||||
-f cc.c \
|
||||
-o test/test100/proof || exit 4
|
||||
|
|
|
@ -1 +1 @@
|
|||
51c04355c67377e568bb99ee66dce3318a2ac8f9f0b1d86c9021f6f46a2ea5bf test/test100/proof
|
||||
3243a9d889030bcdb2d8f7dfde62c41a3d5bd2bdf944328c2eccf1d9a3a7592e test/test100/proof
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test11/break-do.c \
|
||||
-o test/test11/break-do.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test11/break-do.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test12/break-for.c \
|
||||
-o test/test12/break-for.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test12/break-for.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f test/test13/break-while.c \
|
||||
-o test/test13/break-while.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test13/break-while.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f test/test14/basic_args.c \
|
||||
-o test/test14/basic_args.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test14/basic_args.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/file.c \
|
||||
-f test/functions/putchar.c \
|
||||
bin/M2-Planet -f functions/file.c \
|
||||
-f functions/putchar.c \
|
||||
-f test/test15/file_read.c \
|
||||
-o test/test15/file_read.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test15/file_read.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/file.c \
|
||||
-f test/functions/putchar.c \
|
||||
bin/M2-Planet -f functions/file.c \
|
||||
-f functions/putchar.c \
|
||||
-f test/test16/file_write.c \
|
||||
-o test/test16/file_write.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test16/file_write.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/putchar.c \
|
||||
bin/M2-Planet -f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/putchar.c \
|
||||
-f test/test17/memset.c \
|
||||
-o test/test17/memset.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test17/memset.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/file.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
bin/M2-Planet -f functions/file.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f test/test18/math.c \
|
||||
-o test/test18/math.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test18/math.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/file.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/match.c \
|
||||
-f test/functions/numerate_number.c \
|
||||
bin/M2-Planet -f functions/file.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/match.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f test/test19/getopt.c \
|
||||
-o test/test19/getopt.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test19/getopt.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/malloc.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/malloc.c \
|
||||
-f test/test20/struct.c \
|
||||
-o test/test20/struct.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test20/struct.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
./bin/M2-Planet -f test/functions/exit.c \
|
||||
-f test/functions/file.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/match.c \
|
||||
./bin/M2-Planet -f functions/exit.c \
|
||||
-f functions/file.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/match.c \
|
||||
-f test/test21/blood-elf.c \
|
||||
--debug \
|
||||
-o test/test21/blood-elf.M1 || exit 1
|
||||
|
@ -17,7 +17,7 @@ blood-elf -f test/test21/blood-elf.M1 \
|
|||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test21/blood-elf.M1 \
|
||||
-f test/test21/blood-elf-footer.M1 \
|
||||
--LittleEndian \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
./bin/M2-Planet -f test/functions/exit.c \
|
||||
-f test/functions/file.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/match.c \
|
||||
-f test/functions/numerate_number.c \
|
||||
-f test/functions/stat.c \
|
||||
./bin/M2-Planet -f functions/exit.c \
|
||||
-f functions/file.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/match.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f functions/stat.c \
|
||||
-f test/test22/hex2_linker.c \
|
||||
--debug \
|
||||
-o test/test22/hex2_linker.M1 || exit 1
|
||||
|
@ -19,7 +19,7 @@ blood-elf -f test/test22/hex2_linker.M1 \
|
|||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test22/hex2_linker.M1 \
|
||||
-f test/test22/hex2_linker-footer.M1 \
|
||||
--LittleEndian \
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
./bin/M2-Planet -f test/functions/exit.c \
|
||||
-f test/functions/file.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/match.c \
|
||||
-f test/functions/numerate_number.c \
|
||||
-f test/functions/string.c \
|
||||
./bin/M2-Planet -f functions/exit.c \
|
||||
-f functions/file.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/match.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f functions/string.c \
|
||||
-f test/test23/M1-macro.c \
|
||||
--debug \
|
||||
-o test/test23/M1-macro.M1 || exit 1
|
||||
|
@ -19,7 +19,7 @@ blood-elf -f test/test23/M1-macro.M1 \
|
|||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test23/M1-macro.M1 \
|
||||
-f test/test23/M1-macro-footer.M1 \
|
||||
--LittleEndian \
|
||||
|
@ -46,7 +46,7 @@ then
|
|||
# Verify that the resulting file works
|
||||
./test/results/test23-binary -f \
|
||||
test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test21/test.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#! /bin/sh
|
||||
set -x
|
||||
# Build the test
|
||||
./bin/M2-Planet -f test/functions/exit.c \
|
||||
-f test/functions/file.c \
|
||||
-f test/functions/file_print.c \
|
||||
-f test/functions/malloc.c \
|
||||
-f test/functions/calloc.c \
|
||||
-f test/functions/uname.c \
|
||||
./bin/M2-Planet -f functions/exit.c \
|
||||
-f functions/file.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/uname.c \
|
||||
-f test/test24/get_machine.c \
|
||||
--debug \
|
||||
-o test/test24/get_machine.M1 || exit 1
|
||||
|
@ -17,7 +17,7 @@ blood-elf -f test/test24/get_machine.M1 \
|
|||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test24/get_machine.M1 \
|
||||
-f test/test24/get_machine-footer.M1 \
|
||||
--LittleEndian \
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#! /bin/sh
|
||||
set -ex
|
||||
# Build the test
|
||||
bin/M2-Planet -f test/functions/putchar.c \
|
||||
-f test/functions/getchar.c \
|
||||
-f test/functions/exit.c \
|
||||
-f test/functions/malloc.c \
|
||||
bin/M2-Planet -f functions/putchar.c \
|
||||
-f functions/getchar.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/malloc.c \
|
||||
-f test/test99/cc500.c \
|
||||
-o test/test99/cc0.M1 || exit 1
|
||||
|
||||
# Macro assemble with libc written in M1-Macro
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/functions/libc-core.M1 \
|
||||
-f functions/libc-core.M1 \
|
||||
-f test/test99/cc0.M1 \
|
||||
--LittleEndian \
|
||||
--Architecture 1 \
|
||||
|
|
Loading…
Reference in New Issue