aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-17 13:15:32 +1000
committerDavid Walter Seikel2012-01-17 13:15:32 +1000
commit14023eed3e31aa7f857f26cff5d2d3d39b82035f (patch)
treecf86854c71014ea78e29f473ac8723102d999ac4
parentUse EFL logging. (diff)
downloadSledjHamr-14023eed3e31aa7f857f26cff5d2d3d39b82035f.zip
SledjHamr-14023eed3e31aa7f857f26cff5d2d3d39b82035f.tar.gz
SledjHamr-14023eed3e31aa7f857f26cff5d2d3d39b82035f.tar.bz2
SledjHamr-14023eed3e31aa7f857f26cff5d2d3d39b82035f.tar.xz
Cleanups for EFL.
-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