#define DEF_KW
#include "kwtab.h"
+
TOKEN exprbuf[128]; // Expression buffer
SYM * symbolPtr[1000000]; // Symbol pointers table
+static long unused; // For supressing 'write' warnings
+
// Directive handler table
int (*dirtab[])() = {
d_ccundef, // 51 .ccundef
d_print, // 52 .print
d_cstruct, // 53 .cstruct
+ d_jpad, // 54 .jpad (deprecated)
+ d_nojpad, // 55 .nojpad (deprecated)
+ d_gpumain, // 56 .gpumain (deprecated)
};
//
int d_print(void)
{
- char prntstr[LNSIZ]; // String for PRINT directive
- char format[LNSIZ]; // Format for PRINT directive
- int formatting = 0; // Formatting on/off
- int wordlong = 0; // WORD = 0, LONG = 1
- int outtype = 0; // 0:hex, 1:decimal, 2:unsigned
-
- VALUE eval; // Expression value
- WORD eattr; // Expression attributes
- SYM * esym; // External symbol involved in expr.
+ char prntstr[LNSIZ]; // String for PRINT directive
+ char format[LNSIZ]; // Format for PRINT directive
+ int formatting = 0; // Formatting on/off
+ int wordlong = 0; // WORD = 0, LONG = 1
+ int outtype = 0; // 0:hex, 1:decimal, 2:unsigned
+
+ VALUE eval; // Expression value
+ WORD eattr; // Expression attributes
+ SYM * esym; // External symbol involved in expr.
TOKEN r_expr[EXPRSIZE];
while (*tok != EOL)
printf("%s", prntstr);
if (list_fd)
- write(list_fd, prntstr, (LONG)strlen(prntstr));
+ unused = write(list_fd, prntstr, (LONG)strlen(prntstr));
tok += 2;
break;
printf("%s", prntstr);
if (list_fd)
- write(list_fd, prntstr, (LONG)strlen(prntstr));
+ unused = write(list_fd, prntstr, (LONG)strlen(prntstr));
formatting = 0;
wordlong = 0;
}
printf("\n");
- println("\n");
+// println("\n");
return 0;
if (*tok != SYMBOL)
{
- error(syntax_error);
+// error(syntax_error);
+ error("syntax error; expected symbol");
return ERROR;
}
// Check we are dealing with a symbol
if (*tok != SYMBOL)
{
- error(syntax_error);
+// error(syntax_error);
+ error("syntax error; expected symbol");
return ERROR;
}
if (*tok != STRING)
{
- error(syntax_error);
+// error(syntax_error);
+ error("syntax error; string missing");
return ERROR;
}
return 0;
}
+
+int d_jpad(void)
+{
+ warn("JPAD directive is deprecated/non-functional");
+ return OK;
+}
+
+
+int d_nojpad(void)
+{
+ warn("NOJPAD directive is deprecated/non-functional");
+ return OK;
+}
+
+
+int d_gpumain(void)
+{
+ return error("What the hell? Do you think we adhere to the Goof standard?");
+}
+