Update to current M2-Planet and add janneke's clone

This commit is contained in:
Jeremiah Orians 2018-08-31 19:08:06 -04:00
parent f2acc132f9
commit 67cc824a40
No known key found for this signature in database
GPG Key ID: 7457821534D2ACCD
2 changed files with 24 additions and 17 deletions

2
README
View File

@ -21,8 +21,10 @@ https://savannah.nongnu.org/projects/stage0/
* If you wish to contribute: * If you wish to contribute:
pull requests can be made at https://github.com/oriansj/stage0 pull requests can be made at https://github.com/oriansj/stage0
and https://gitlab.com/janneke/stage0
or patches/diffs can be sent via email to Jeremiah (at) pdp10 [dot] guru or patches/diffs can be sent via email to Jeremiah (at) pdp10 [dot] guru
or join us on freenode's #bootstrappable or join us on freenode's #bootstrappable
or update the wiki at https://bootstrapping.miraheze.org/wiki/Stage0
* Goal * Goal
This is a set of manually created hex programs in a Cthulhu Path to madness fashion. This is a set of manually created hex programs in a Cthulhu Path to madness fashion.

View File

@ -777,6 +777,7 @@ struct token_list* read_all_tokens(FILE* a, struct token_list* current, char* fi
return token; return token;
} }
/* Copyright (C) 2016 Jeremiah Orians /* Copyright (C) 2016 Jeremiah Orians
* Copyright (C) 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
* This file is part of stage0. * This file is part of stage0.
* *
* stage0 is free software: you can redistribute it and/or modify * stage0 is free software: you can redistribute it and/or modify
@ -858,12 +859,15 @@ int escape_lookup(char* c)
int t2 = hexify(c[3], FALSE); int t2 = hexify(c[3], FALSE);
return t1 + t2; return t1 + t2;
} }
else if(c[1] == 'n') return 10;
else if(c[1] == 't') return 9; else if(c[1] == 't') return 9;
else if(c[1] == '\\') return 92; else if(c[1] == 'n') return 10;
else if(c[1] == '\'') return 39; else if(c[1] == 'v') return 11;
else if(c[1] == '"') return 34; else if(c[1] == 'f') return 12;
else if(c[1] == 'r') return 13; else if(c[1] == 'r') return 13;
else if(c[1] == 'e') return 27;
else if(c[1] == '"') return 34;
else if(c[1] == '\'') return 39;
else if(c[1] == '\\') return 92;
file_print("Unknown escape recieved: ", stderr); file_print("Unknown escape recieved: ", stderr);
file_print(c, stderr); file_print(c, stderr);
@ -1204,6 +1208,7 @@ struct type* type_name()
return ret; return ret;
} }
/* Copyright (C) 2016 Jeremiah Orians /* Copyright (C) 2016 Jeremiah Orians
* Copyright (C) 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
* This file is part of stage0. * This file is part of stage0.
* *
* stage0 is free software: you can redistribute it and/or modify * stage0 is free software: you can redistribute it and/or modify
@ -1298,18 +1303,18 @@ struct token_list* sym_lookup(char *s, struct token_list* symbol_list)
void line_error() void line_error()
{ {
file_print("In file: ", stderr);
file_print(global_token->filename, stderr); file_print(global_token->filename, stderr);
file_print(" On line: ", stderr); file_print(":", stderr);
file_print(numerate_number(global_token->linenumber), stderr); file_print(numerate_number(global_token->linenumber), stderr);
file_print(":", stderr);
} }
void require_match(char* message, char* required) void require_match(char* message, char* required)
{ {
if(!match(global_token->s, required)) if(!match(global_token->s, required))
{ {
file_print(message, stderr);
line_error(); line_error();
file_print(message, stderr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
global_token = global_token->next; global_token = global_token->next;
@ -1423,10 +1428,10 @@ void global_load(struct token_list* a)
void primary_expr_failure() void primary_expr_failure()
{ {
line_error();
file_print("Recieved ", stderr); file_print("Recieved ", stderr);
file_print(global_token->s, stderr); file_print(global_token->s, stderr);
file_print(" in primary_expr\n", stderr); file_print(" in primary_expr\n", stderr);
line_error();
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -1501,9 +1506,9 @@ void primary_expr_variable()
return; return;
} }
line_error();
file_print(s ,stderr); file_print(s ,stderr);
file_print(" is not a defined symbol\n", stderr); file_print(" is not a defined symbol\n", stderr);
line_error();
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -2061,8 +2066,8 @@ void process_break()
{ {
if(NULL == break_target_head) if(NULL == break_target_head)
{ {
file_print("Not inside of a loop or case statement", stderr);
line_error(); line_error();
file_print("Not inside of a loop or case statement", stderr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
struct token_list* i = function->locals; struct token_list* i = function->locals;
@ -2337,10 +2342,10 @@ new_type:
} }
else else
{ {
line_error();
file_print("Recieved ", stderr); file_print("Recieved ", stderr);
file_print(global_token->s, stderr); file_print(global_token->s, stderr);
file_print(" in program\n", stderr); file_print(" in program\n", stderr);
line_error();
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -2349,10 +2354,10 @@ new_type:
} }
else else
{ {
line_error();
file_print("Recieved ", stderr); file_print("Recieved ", stderr);
file_print(global_token->s, stderr); file_print(global_token->s, stderr);
file_print(" in program\n", stderr); file_print(" in program\n", stderr);
line_error();
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
} }
@ -2417,7 +2422,7 @@ int main(int argc, char** argv)
{ {
file_print("Unable to open for reading file: ", stderr); file_print("Unable to open for reading file: ", stderr);
file_print(name, stderr); file_print(name, stderr);
file_print("\x0A Aborting to avoid problems\x0A", stderr); file_print("\n Aborting to avoid problems\n", stderr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
global_token = read_all_tokens(in, global_token, name); global_token = read_all_tokens(in, global_token, name);
@ -2430,7 +2435,7 @@ int main(int argc, char** argv)
{ {
file_print("Unable to open for writing file: ", stderr); file_print("Unable to open for writing file: ", stderr);
file_print(argv[i + 1], stderr); file_print(argv[i + 1], stderr);
file_print("\x0A Aborting to avoid problems\x0A", stderr); file_print("\n Aborting to avoid problems\n", stderr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
i = i + 2; i = i + 2;
@ -2442,17 +2447,17 @@ int main(int argc, char** argv)
} }
else if(match(argv[i], "-h") || match(argv[i], "--help")) else if(match(argv[i], "-h") || match(argv[i], "--help"))
{ {
file_print(" -f input file\x0A -o output file\x0A --help for this message\x0A --version for file version\x0A", stdout); file_print(" -f input file\n -o output file\n --help for this message\n --version for file version\n", stdout);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }
else if(match(argv[i], "-V") || match(argv[i], "--version")) else if(match(argv[i], "-V") || match(argv[i], "--version"))
{ {
file_print("Basic test version 0.0.0.1a\x0A", stderr); file_print("M2-Planet v1.0.0\n", stderr);
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
} }
else else
{ {
file_print("UNKNOWN ARGUMENT\x0A", stdout); file_print("UNKNOWN ARGUMENT\n", stdout);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
} }