foxp/src/syntax.h

28 lines
598 B
C

#ifndef SYNTAX_H
#define SYNTAX_H
#include <stdbool.h>
enum SyntaxElementType {
TREE,
TOKEN,
STRING,
NUMBER,
NONE
};
typedef struct SyntaxElement {
enum SyntaxElementType type;
void* content;
struct SyntaxElement* next;
struct SyntaxElement* top;
} tSyntaxElement;
void se_clean(tSyntaxElement* syntaxtree);
bool se_istraversable(tSyntaxElement* syntaxtree);
tSyntaxElement* se_create(void);
tSyntaxElement* se_init(void);
tSyntaxElement* se_bottom(tSyntaxElement* syntaxelement);
tSyntaxElement* se_next(tSyntaxElement* syntaxelement);
void se_free(tSyntaxElement* syntaxtree);
#endif