28 lines
598 B
C
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
|