This commit is contained in:
Dominic Grimm 2022-12-22 18:05:42 +01:00
parent d8cff2488a
commit 0019e3278e
No known key found for this signature in database
GPG key ID: 6F294212DEAAC530
5 changed files with 103 additions and 36 deletions

View file

@ -5,7 +5,9 @@
#include "number.h"
extern unsigned int hydroforth__hash_string(const char *const key, unsigned char length);
extern unsigned int hydroforth__hash_string(const char *const key, unsigned char len);
extern bool hydroforth__is_space(char c);
typedef enum HYDROFORTH__WORD_TYPE
{
@ -18,7 +20,7 @@ typedef union HYDROFORTH__WORD_DATA
{
int number;
char char_word;
char *word;
unsigned int hash;
} HYDROFORTH__WORD_DATA;
typedef struct HYDROFORTH__WORD
@ -75,6 +77,7 @@ typedef struct __HYDROFORTH
{
__HYDROFORTH__NUMBER number;
unsigned int (*hash_string)(const char *const key, unsigned char len);
bool (*is_space)(char c);
bool (*parse)(HYDROFORTH__INTERPRETER *interpreter);
bool (*run_call_stack)(HYDROFORTH__INTERPRETER *interpreter);
bool (*run)(HYDROFORTH__INTERPRETER *interpreter);
@ -88,6 +91,7 @@ static const __HYDROFORTH hydroforth = {
.parse_number = hydroforth__number__parse_number,
},
.hash_string = hydroforth__hash_string,
.is_space = hydroforth__is_space,
.parse = hydroforth__parse,
.run_call_stack = hydroforth__run_call_stack,
.run = hydroforth__run,