summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-06-01 08:31:47 +0800
committerchai <chaifix@163.com>2018-06-01 08:31:47 +0800
commit6a4f1a224273118a5429094ddd83420b7d69b28d (patch)
treef96c714cda12af6300178cbe31880d17804802de
parenta558be5f3d72775bd06c3814e002d355402a7acd (diff)
更新示例
-rw-r--r--lls/lls.c16
-rw-r--r--lls/lls.h13
-rw-r--r--llsVM.c17
-rw-r--r--test/hello.lls2
4 files changed, 44 insertions, 4 deletions
diff --git a/lls/lls.c b/lls/lls.c
index e8f26ea..927382d 100644
--- a/lls/lls.c
+++ b/lls/lls.c
@@ -24,7 +24,21 @@ typedef struct
} value;
} lls_Value;
+/* ָ,֧255 */
enum
{
-
+ MOVE = 1,
+ ADD,
};
+
+typedef struct
+{
+ int ins;
+ void* operant;
+} lls_Ins;
+
+
+int lls_bindfunction(lls_Context* C, const char* fname, lls_Func func)
+{
+
+}
diff --git a/lls/lls.h b/lls/lls.h
index 5f190a2..7157070 100644
--- a/lls/lls.h
+++ b/lls/lls.h
@@ -1,16 +1,23 @@
#ifndef __LLS_H
#define __LLS_H
+typedef int(*lls_Func)();
+
+typedef struct
+{
+ const char* name;
+ lls_Func func;
+} lls_FuncMap;
+
typedef struct
{
int top;
+ lls_FuncMap* funcMap;
} lls_Context;
lls_Context* lls_newcontext();
-typedef int (*lls_Function)();
-
-int lls_bindfunction(lls_Context* C, const char* fname, lls_Function func);
+int lls_bindfunction(lls_Context* C, const char* fname, lls_Func func);
int lls_bindvariable(lls_Context* C, const char* vname, void* variable);
int lls_bindset();
diff --git a/llsVM.c b/llsVM.c
index e69de29..2102d60 100644
--- a/llsVM.c
+++ b/llsVM.c
@@ -0,0 +1,17 @@
+#include "lls/lls.h"
+
+int l_print()
+{
+
+ return 0;
+}
+
+const char* source = "print(\"hello, world\")";
+
+int main(int args, char* argv[])
+{
+ lls_Context* C = lls_newcontext();
+ lls_bindfunction(C, "print", l_print);
+ lls_executesource(C, source, strlen(source));
+ return 0;
+} \ No newline at end of file
diff --git a/test/hello.lls b/test/hello.lls
index 86e6a6b..05c8183 100644
--- a/test/hello.lls
+++ b/test/hello.lls
@@ -100,6 +100,8 @@ func test()
arr = {1, 2, 2, 3, 5, 2};
/* 字符串拼接 */
str = "hello " + "world";
+ f = {};
+
}
func main()