This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository eshell.
View the commit online.
commit 683aa82f7a4672dbfb8a12afab9ebf3c2c92b80f
Author: swagtoy <m...@ow.swag.toys>
AuthorDate: Sat Nov 9 18:14:54 2024 -0500
Initialize lexer
---
escript/include/escript.h | 1 +
escript/include/lexer.h | 12 ++++++++++++
escript/src/escript.c | 1 -
escript/src/lexer.c | 11 +++++++++--
eshell/src/eshell.c | 3 ++-
5 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/escript/include/escript.h b/escript/include/escript.h
index 65d58e0..63c4dd1 100644
--- a/escript/include/escript.h
+++ b/escript/include/escript.h
@@ -4,6 +4,7 @@
#ifndef ESCRIPT_ESCRIPT_H
#define ESCRIPT_ESCRIPT_H
+#include "lexer.h"
struct Escript_Lexer;
diff --git a/escript/include/lexer.h b/escript/include/lexer.h
index 43950c3..9605718 100644
--- a/escript/include/lexer.h
+++ b/escript/include/lexer.h
@@ -4,11 +4,23 @@
#ifndef ESCRIPT_LEXER_H
#define ESCRIPT_LEXER_H
+#include <stddef.h>
+
+enum Escript_Lex_Keywords
+{
+ ELEX_WHILE,
+ ELEX_IF,
+ ELEX_DO,
+ ELEX_FUN,
+ ELEX_TYPE,
+};
struct Escript_Lexer
{
+ int stub;
};
int escript_lexer_init(struct Escript_Lexer* lex);
+int escript_lexer_lex(struct Escript_Lexer* lex, char const* string, size_t string_len);
#endif
diff --git a/escript/src/escript.c b/escript/src/escript.c
index 7c4bde9..8609f74 100644
--- a/escript/src/escript.c
+++ b/escript/src/escript.c
@@ -14,6 +14,5 @@ int escript_init(struct Escript* escript, int argc, char** argv)
{
escript->lex = malloc(sizeof(struct Escript_Lexer)); // TODO free me
escript_lexer_init(escript->lex);
-
return 0;
}
diff --git a/escript/src/lexer.c b/escript/src/lexer.c
index c3511fb..387c845 100644
--- a/escript/src/lexer.c
+++ b/escript/src/lexer.c
@@ -5,9 +5,16 @@
*/
#include <stdio.h>
+#include <string.h>
#include "lexer.h"
-int escript_lexer_init(struct Escript_Lexer* lex)
+int
+escript_lexer_init(struct Escript_Lexer* lex)
{
- puts("Lexer begins!");
+}
+
+int
+escript_lexer_lex(struct Escript_Lexer* lex, char const* string, size_t string_len)
+{
+ puts(string);
}
diff --git a/eshell/src/eshell.c b/eshell/src/eshell.c
index 7b1f055..090e4f4 100644
--- a/eshell/src/eshell.c
+++ b/eshell/src/eshell.c
@@ -36,7 +36,8 @@ int eshell_io_loop(struct Eshell* eshell)
if (res[res_len-1] == '\n')
res[res_len-1] = '\0';
- puts(res);
+ // Temporary
+ escript_lexer_lex(eshell->escript->lex, res, -1);
}
return 0;
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.