diff --git a/SLS_C/include/sls/interpreter.h b/SLS_C/include/sls/interpreter.h new file mode 100644 index 0000000..8a8b3d6 --- /dev/null +++ b/SLS_C/include/sls/interpreter.h @@ -0,0 +1,31 @@ +// Kyler Olsen +// YREA SLS +// Interpreter Header +// November 2025 + +#ifndef SLS_INTERPRETER_H +#define SLS_INTERPRETER_H + +#include + +typedef enum { + STACK_IDENTIFIER, + STACK_I64, + STACK_I32, + STACK_I16, + STACK_I8, + STACK_U64, + STACK_U32, + STACK_U16, + STACK_U8, + STACK_FLOAT, + STACK_DOUBLE, + STACK_CHARACTER, + STACK_BOOLEAN, + STACK_TOKEN_STRING, +} StackTypes; + +extern const char *STACK_TYPES_NAMES[]; +extern const size_t STACK_TYPE_COUNT; + +#endif // SLS_INTERPRETER_H diff --git a/SLS_C/src/interpreter.c b/SLS_C/src/interpreter.c new file mode 100644 index 0000000..2940e8a --- /dev/null +++ b/SLS_C/src/interpreter.c @@ -0,0 +1,25 @@ +// Kyler Olsen +// YREA SLS +// Interpreter +// November 2025 + +#include "sls/interpreter.h" + +const char *STACK_TYPES_NAMES[] = { + "Identifier", + "64-bit Integer", + "32-bit Integer", + "16-bit Integer", + "8-bit Integer", + "64-bit U Integer", + "32-bit U Integer", + "16-bit U Integer", + "8-bit U Integer", + "Float", + "Double", + "Character", + "Boolean", + "Token String", +}; + +const size_t STACK_TYPE_COUNT = sizeof(STACK_TYPES_NAMES) / sizeof(*STACK_TYPES_NAMES);