summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-04-02 11:54:14 -0600
committerHombreLaser <sebastian-440@live.com>2022-04-02 11:54:14 -0600
commitbbf4e8304b50b6a972cacc6337d1aa283ccb83be (patch)
tree73821eb1485bb05c038af64a372d17a0626acfe3 /include
parent4a8400c2846a0db0778817e48da6c0f20849471f (diff)
Añadido código del parser
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 */