Preprocessing
Revision as of 19:30, 5 May 2009 by Aeron Kohime (talk | contribs) (New page: I suggest the ability to add preprocessing to LSL, as this has no effect on LSL itself but can provide scripts which can do many different things, depending on. This would include. #Basic...)
I suggest the ability to add preprocessing to LSL, as this has no effect on LSL itself but can provide scripts which can do many different things, depending on.
This would include.
- Basic Define keyword, can be used to define custom static variables. (these may need to be typed)
- IF, IFN, ELSE, ENDIF preprocessor branches
As such a script such as this: <lsl>
- define DEBUG TRUE
- if DEBUG
string mode = "DEBUG";
- else
string mode = "NORMAL";
- endif
default {
- if DEBUG
on_rez(integer s) { llResetScript() }
- endif
state_entry() { llOwnerSay(mode);
- if DEBUG
llOwnerSay(llGetDate(); }
- else
}
- endif
} </lsl>
Could produce two different scripts depending on the value of DEBUG, which would then get compiled/interpreted.
With DEBUG set to TRUE. <lsl>
- define DEBUG TRUE
string mode = "DEBUG";
default {
on_rez(integer s) { llResetScript() }
state_entry() { llOwnerSay(mode); llOwnerSay(llGetDate(); }
} </lsl>
With DEBUG set to FALSE. <lsl>
- define DEBUG FALSE
string mode = "NORMAL";
default {
state_entry() { llOwnerSay(mode); }
} </lsl>