summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/parser.hpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/parser.hpp b/include/parser.hpp
new file mode 100644
index 0000000..02471d8
--- /dev/null
+++ b/include/parser.hpp
@@ -0,0 +1,28 @@
+/* PIA - Lenguajes Modernos de Programación
+ * FACULTAD DE CIENCIAS FÍSICO MATEMÁTICAS
+ * Luis Sebastián Martínez Vega - LCC */
+
+#include <string>
+#include <vector>
+#include "lexer.hpp"
+#ifndef PARSER_H
+#define PARSER_H
+
+class Parser{
+private:
+ std::string text;
+ Lexer tokenizer;
+ void setText(std::string text);
+ void parseExpr();
+ void parsePrimeExpr();
+ void parseTerm();
+ void parsePrimeTerm();
+ void parsePower();
+ void parsePrimePower();
+ void parseFactor();
+ bool checkToken(); // Checa el token actual del lexer.
+public:
+ void parse(std::string expr);
+};
+
+#endif /* PARSER_H */