aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL
diff options
context:
space:
mode:
Diffstat (limited to 'LuaSL')
-rw-r--r--LuaSL/README24
-rwxr-xr-xLuaSL/build.sh2
-rw-r--r--LuaSL/src/LuaSL_lexer.l3
3 files changed, 7 insertions, 22 deletions
diff --git a/LuaSL/README b/LuaSL/README
index c02b180..c019fb7 100644
--- a/LuaSL/README
+++ b/LuaSL/README
@@ -5,6 +5,10 @@ compatability first, then adding Lua extensions. It aims to replace the
5woeful XEngine from OpenSim, and at a later stage, be the basis for a 5woeful XEngine from OpenSim, and at a later stage, be the basis for a
6client side scripting engine. 6client side scripting engine.
7 7
8To compile this, you will need Enlightenment Foundation Libraries (EFL)
9installed in either /opt/e17 or /usr. These are typical places it get's
10installed in.
11
8 12
9Design. 13Design.
10------- 14-------
@@ -61,23 +65,3 @@ etc.
61 65
62Performance testing will have to be done on 5000 scripts, to see how 66Performance testing will have to be done on 5000 scripts, to see how
63that compares against XEngine. 67that compares against XEngine.
64
65
66Parser.
67-------
68
69The SL viewer code includes a flex/bison based parser that generates C++
70code that depends on various other bits of LL source code. It's GPL 2,
71though the flex and bison source files includes no license text.
72
73Flex is BSD and written in C. Bison is GNU (GPL 3 since 2.4.1, 2.3 is
74GPL2) and written in C. It used to include info that stuff generated by
75bison had to be GPL. Berkeley YACC is public domain, and written in C.
76There is also btyacc, based on the berkeley version, but with some
77useful extras. btyacc version 3 (the version coming from my version of
78Ubuntu) apparently no longer supports C, only C++. It's written in C
79though.
80
81Let's see if flex and btyacc will do the trick, and output C. Might be
82best to have the LSL to Lua converter as a seperate executable. Think
83I'll end up writing my own parser.
diff --git a/LuaSL/build.sh b/LuaSL/build.sh
index 65c1581..7455847 100755
--- a/LuaSL/build.sh
+++ b/LuaSL/build.sh
@@ -6,6 +6,8 @@ export LOCALDIR=`pwd`
6cd src 6cd src
7rm -f ../LuaSL ../LuaSL_parser ../*.o *.output *.backup ../*.edj LuaSL_lexer.h LuaSL_lexer.c LuaSL_lemon_yaccer.h LuaSL_lemon_yaccer.c LuaSL_lemon_yaccer.out 7rm -f ../LuaSL ../LuaSL_parser ../*.o *.output *.backup ../*.edj LuaSL_lexer.h LuaSL_lexer.c LuaSL_lemon_yaccer.h LuaSL_lemon_yaccer.c LuaSL_lemon_yaccer.out
8 8
9
10# This assumes you have EFL installed in one of two standard places.
9if [ -d "/opt/e17" ] 11if [ -d "/opt/e17" ]
10then 12then
11 export E17DIR="/opt/e17" 13 export E17DIR="/opt/e17"
diff --git a/LuaSL/src/LuaSL_lexer.l b/LuaSL/src/LuaSL_lexer.l
index 2661b76..8a5e8ad 100644
--- a/LuaSL/src/LuaSL_lexer.l
+++ b/LuaSL/src/LuaSL_lexer.l
@@ -1,8 +1,7 @@
1%{ 1%{
2 2
3#include "LuaSL.h"
4#define excludeLexer 3#define excludeLexer
5#include "LuaSL_LSL_tree.h" 4#include "LuaSL.h"
6 5
7int common(YYSTYPE *lval, char *text, LuaSL_yyparseParam *param, boolean checkIgnorable, int type); 6int common(YYSTYPE *lval, char *text, LuaSL_yyparseParam *param, boolean checkIgnorable, int type);
8 7