From fc24490ed82c789ee7f6df2a1c97c8677b1367ee Mon Sep 17 00:00:00 2001
From: lang0909 <lang0909@ajou.ac.kr>
Date: Wed, 28 Aug 2019 16:10:50 +0900
Subject: [PATCH] Add header file for syntax analyzer

---
 parser.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 parser.h

diff --git a/parser.h b/parser.h
new file mode 100644
index 0000000..428c357
--- /dev/null
+++ b/parser.h
@@ -0,0 +1,49 @@
+#include<stdio.h>
+
+#define TOKEN_VALUE_MAX 10
+#define SYMBOL_MAX 10
+
+typedef enum {ID =1, INT, REAL, PLUS, MINUS, MUL, DIV, ASSIGN, LP, RP } TOKEN;
+
+typedef struct{
+    TOKEN token;
+    char value[TOKEN_VALUE_MAX+1];
+}TOKEN_LIST;
+
+typedef struct{
+    char symbol[SYMBOL_MAX+1];
+    TOKEN type;
+    union{
+	int integer_constant;
+	double real_constant;
+    }value;
+    int set_up;
+}SYMBOL_TABLE;
+ 
+typedef struct TreeNode{
+    int token_type;
+    char token_value[TOKEN_VALUE_MAX+1];
+    struct TreeNode * left;
+    struct TreeNode * right;
+}Tree;
+
+extern TOKEN_LIST token_list[];
+extern SYMBOL_TABLE symbol_table[];
+extern int token_number;
+extern int symbol_number;
+
+Tree* A();
+Tree* A_(Tree * a_);
+Tree* E();
+Tree* E_(Tree* e_);
+Tree* T();
+Tree* T_(Tree* t_);
+Tree* F();
+Tree* F_();
+void match(int look_ahd);
+void syntax_error();
+extern void do_syntax_analysis();
+int find_symbol(char *target);
+
+extern int l;
+extern int index_location;
-- 
GitLab