This commit is contained in:
XANTRONIX 2023-09-13 17:10:53 -04:00
parent 196ce806e2
commit b98f0041a6
2 changed files with 18 additions and 16 deletions

View file

@ -5,8 +5,8 @@
#include <stdlib.h>
#include <inttypes.h>
#define ZX_BASIC_STATE_SIZE 116
#define ZX_BASIC_LINE_LAST 0x7676
#define ZX81_BASIC_STATE_SIZE 116
#define ZX81_BASIC_LINE_LAST 0x7676
extern char *zx81_basic_tokens_low[3];
@ -17,11 +17,13 @@ typedef struct _zx_basic_line {
} zx_basic_line;
enum zx_basic_token_type {
ZX_BASIC_TOKEN_UNKNOWN,
ZX_BASIC_TOKEN_ALNUM,
ZX_BASIC_TOKEN_QUOTE,
ZX_BASIC_TOKEN_SYMBOL,
ZX_BASIC_TOKEN_WORD,
ZX81_BASIC_TOKEN_UNKNOWN,
ZX81_BASIC_TOKEN_ALNUM,
ZX81_BASIC_TOKEN_PAREN_OPEN,
ZX81_BASIC_TOKEN_PAREN_CLOSE,
ZX81_BASIC_TOKEN_QUOTE,
ZX81_BASIC_TOKEN_SYMBOL,
ZX81_BASIC_TOKEN_WORD,
};
ssize_t zx81_basic_dump(int fd, FILE *stream);

View file

@ -25,27 +25,27 @@ static inline enum zx_basic_token_type zx_basic_token_type_get(uint8_t b) {
if ((codepoint >= 'A' && codepoint <= 'Z')
|| (codepoint >= '0' && codepoint <= '9')) {
return ZX_BASIC_TOKEN_ALNUM;
return ZX81_BASIC_TOKEN_ALNUM;
} else if (codepoint == '"') {
return ZX_BASIC_TOKEN_QUOTE;
return ZX81_BASIC_TOKEN_QUOTE;
} else {
return ZX_BASIC_TOKEN_SYMBOL;
return ZX81_BASIC_TOKEN_SYMBOL;
}
} else if (ZX81_CHAR_INVERSE(b)) {
return zx_basic_token_type_get(b - ZX81_CHAR_INVERSE_START);
} else if (ZX81_CHAR_TOKEN_LOW(b)) {
return ZX_BASIC_TOKEN_WORD;
return ZX81_BASIC_TOKEN_WORD;
} else if (ZX81_CHAR_TOKEN_HIGH(b)) {
char *token = zx81_basic_tokens[b-ZX81_CHAR_TOKEN_HIGH_START];
if (token[0] >= 'A' && token[0] <= 'Z') {
return ZX_BASIC_TOKEN_WORD;
return ZX81_BASIC_TOKEN_WORD;
} else {
return ZX_BASIC_TOKEN_SYMBOL;
return ZX81_BASIC_TOKEN_SYMBOL;
}
}
return ZX_BASIC_TOKEN_UNKNOWN;
return ZX81_BASIC_TOKEN_UNKNOWN;
}
static inline int basic_print(uint8_t c, int tty, FILE *stream) {
@ -77,7 +77,7 @@ ssize_t zx81_basic_dump(int fd, FILE *stream) {
goto error_malloc;
}
if (lseek(fd, ZX_BASIC_STATE_SIZE, SEEK_CUR) < 0) {
if (lseek(fd, ZX81_BASIC_STATE_SIZE, SEEK_CUR) < 0) {
goto error_io;
}
@ -94,7 +94,7 @@ ssize_t zx81_basic_dump(int fd, FILE *stream) {
len = le16toh(line.len);
if (be16toh(line.num) == len && len == ZX_BASIC_LINE_LAST) {
if (be16toh(line.num) == len && len == ZX81_BASIC_LINE_LAST) {
break;
}