#ifndef LEXER #define LEXER typedef enum TokenType { ERR, EOL, STRING, INT, OPEN_PAREN, CLOSE_PAREN, START_COMMENT, JUSTIFICATION, PREMISE, ASSUMPTION, CONJUNCTION, DISJUNCTION, IMPLICATION, BI_IMPLICATION, EXPLOSION, ELIMINATION, INTRODUCTION, } tokenType_t; typedef struct Token { tokenType_t type; void* value; } token_t; token_t init_token(tokenType_t type, void* value); typedef struct LinkedList { void* value; struct LinkedList* next; } linkList_t; linkList_t* init_linklist(void* value, linkList_t* next); int advance_whitespace(char** linePointer); linkList_t* lex_line(char* line); token_t lex_first_token(char** content); token_t lex_first_string(char** content); token_t lex_first_int(char** content); #endif