Update bootstrap files.

This commit is contained in:
2024-03-15 09:13:19 +00:00
parent 0aa114e920
commit 56da919f27
11 changed files with 1413 additions and 252 deletions

37
input.c
View File

@@ -1,21 +1,31 @@
#line 919 "nuweb.w"
#include "global.h"
#line 3914 "nuweb.w"
static FILE *source_file; /* the current input file */
static int double_at;
static int include_depth;
#line 3921 "nuweb.w"
static struct {
FILE *file;
char *name;
int line;
} stack[10];
#line 3938 "nuweb.w"
int source_peek;
int source_last;
int source_get()
int source_get(void)
{
int c;
source_last = c = source_peek;
switch (c) {
case EOF: {
case EOF:
#line 4088 "nuweb.w"
{
fclose(source_file);
if (include_depth) {
include_depth--;
@@ -26,12 +36,16 @@ int source_get()
c = source_get();
}
}
#line 3946 "nuweb.w"
return c;
case '\n': source_line++;
default:
if (c==nw_char)
{
/* Handle an ``at'' character */
#line 3985 "nuweb.w"
{
c = getc(source_file);
if (double_at) {
@@ -41,7 +55,9 @@ int source_get()
}
else
switch (c) {
case 'i': {
case 'i':
#line 4027 "nuweb.w"
{
char name[FILENAME_MAX];
char fullname[FILENAME_MAX];
struct incl * p = include_list;
@@ -52,6 +68,8 @@ int source_get()
exit(-1);
}
/* Collect include-file name */
#line 4067 "nuweb.w"
{
char *p = name;
do
@@ -68,6 +86,8 @@ int source_get()
exit(-1);
}
}
#line 4037 "nuweb.w"
stack[include_depth].file = source_file;
fullname[0] = '\0';
for (;;) {
@@ -95,6 +115,8 @@ int source_get()
source_peek = getc(source_file);
c = source_get();
}
#line 3994 "nuweb.w"
break;
case '#': case 'f': case 'm': case 'u': case 'v':
case 'd': case 'o': case 'D': case 'O': case 's':
@@ -125,12 +147,16 @@ int source_get()
exit(-1);
}
}
#line 3952 "nuweb.w"
return c;
}
source_peek = getc(source_file);
return c;
}
}
#line 3969 "nuweb.w"
void source_ungetc(int *c)
{
ungetc(source_peek, source_file);
@@ -138,8 +164,9 @@ void source_ungetc(int *c)
source_line--;
source_peek=*c;
}
void source_open(name)
char *name;
#line 4107 "nuweb.w"
void source_open(char *name)
{
source_file = fopen(name, "r");
if (!source_file) {