readme-thing/node.h

54 lines
807 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 Node* next;
/*struct NodeList* children;*/
} Node;
typedef struct NodeList {
struct Node* first;
/*struct Node* node;
struct Node* next;*/
} NodeList;
typedef struct {
NodeType type;
struct Node* next;
char* rawText;
} HeaderNode;
/*
typedef struct {
NodeType type;
struct Node* next;
} ParagraphNode;
*/
NodeList* ParseNodes(TokenList* list);
char* NodeTypeString(NodeType t);
#endif