readme-thing/node.h

44 lines
635 B
C

#include <stdlib.h>
#include "token.h"
#ifndef NODE_H
#define NODE_H
typedef enum {
NT_Header1,
NT_Header2,
NT_Header3,
NT_Header4,
NT_Paragraph,
NT_UnorderedList,
NT_OrderedList,
NT_InlineCode,
NT_BlockCode,
NT_BlockQuote,
NT_Bold,
NT_Underline,
} NodeType;
struct NodeList;
typedef struct Node {
NodeType type;
struct NodeList* children;
} Node;
typedef struct NodeList {
struct Node* node;
struct Node* next;
} NodeList;
typedef struct {
NodeType type;
struct Node* next;
char* rawText;
} HeaderNode;
NodeList* ParseNodes(TokenList* list);
#endif