1 """
2 MoinMoin - LSL (Linden Scripting Language) Parser version 0.2
3
4 new in this version: compatible with LSL version 1.10.0
5
6 @copyright: 2006 by Thilo Pfennig <tpfennig@gmail.com>
7 based on Java parser by Taesu Pyo <bigflood@hitel.net>
8 @license: GNU GPL, see COPYING for details.
9
10 """
11
12 from MoinMoin.util.ParserBase import ParserBase
13
14 Dependencies = []
15
16 class Parser(ParserBase):
17
18 parsername = "ColorizedLsl"
19 extensions = ['.lsl']
20 Dependencies = []
21
22 def setupRules(self):
23 ParserBase.setupRules(self)
24
25 self.addRulePair("Comment","/[*]","[*]/")
26 self.addRule("Comment","//.*$")
27 self.addRulePair("String",'"',r'$|[^\](\\)*"')
28 self.addRule("Char",r"'\.'|'[^\]'")
29 self.addRule("Number",r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[ll]?")
30 self.addRule("ID","[a-zA-Z_][0-9a-zA-Z_]*")
31 self.addRule("SPChar",r"[~!%^&*()+=|\[\]:;,.<>/?{}-]")
32
33 reserved_words = ['default','do','double','else','enum','extends','if','final','finally',
34 'float','for','integer','implements','import','int','jump','key','list',
35 'long','new','native','package','private','protected','return','rotation','state','static','string',
36 'synchronized','vector','while']
37
38 self.addReserved(reserved_words)
39
40 constant_words = ['true','false','null']
41
42 self.addConstant(constant_words)
43
44 """ functions (todo)
45 ,llAbs
46 ,llAcos
47 ,llAddToLandBanList
48 ,llAddToLandPassList
49 ,llAdjustSoundVolume
50 ,llAllowInventoryDrop
51 ,llAngleBetween
52 ,llApplyImpulse
53 ,llApplyRotationalImpulse
54 ,llAsin
55 ,llAtan2
56 ,llAttachToAvatar
57 ,llAvatarOnSitTarget
58 ,llAxes2Rot
59 ,llAxisAngle2Rot
60 ,llBase64ToInteger
61 ,llBase64ToString
62 ,llBreakAllLinks
63 ,llBreakLink
64 ,llCastRay
65 ,llCeil
66 ,llClearCameraParams
67 ,llClearPrimMedia
68 ,llCloseRemoteDataChannel
69 ,llCloud
70 ,llCollisionFilter
71 ,llCollisionSound
72 ,llCollisionSprite
73 ,llCos
74 ,llCreateLink
75 ,llCSV2List
76 ,llDeleteSubList
77 ,llDeleteSubString
78 ,llDetachFromAvatar
79 ,llDetectedGrab
80 ,llDetectedGroup
81 ,llDetectedKey
82 ,llDetectedLinkNumber
83 ,llDetectedName
84 ,llDetectedOwner
85 ,llDetectedPos
86 ,llDetectedRot
87 ,llDetectedTouchBinormal
88 ,llDetectedTouchFace
89 ,llDetectedTouchNormal
90 ,llDetectedTouchPos
91 ,llDetetctedTouchST
92 ,llDetectedTouchUV
93 ,llDetectedType
94 ,llDetectedVel
95 ,llDialog
96 ,llDie
97 ,llDumpList2String
98 ,llEdgeOfWorld
99 ,llEjectFromLand
100 ,llEjectFromLand
101 ,llEmail
102 ,llEscapeURL
103 ,llEuler2Rot
104 ,llFabs
105 ,llFloor
106 ,llForceMouselook
107 ,llFrand
108 ,llGetAccel
109 ,llGetAgentInfo
110 ,llGetAgentLanguage
111 ,llGetAgentSize
112 ,llGetAlpha
113 ,llGetAndResetTime
114 ,llGetAnimation
115 ,llGetAnimationList
116 ,llGetAttached
117 ,llGetBoundingBox
118 ,llGetCameraPos
119 ,llGetCameraRot
120 ,llGetCenterOfMass
121 ,llGetColor
122 ,llGetCreator
123 ,llGetDate
124 ,llGetDisplayName
125 ,llGetEnergy
126 ,llGetEnv
127 ,llGetForce
128 ,llGetFreeMemory
129 ,llGetFreeURLs
130 ,llGetGeometricCenter
131 ,llGetGMTclock
132 ,llGetHTTPHeader
133 ,llGetInventoryCreator
134 ,llGetInventoryKey
135 ,llGetInventoryName
136 ,llGetInventoryNumber
137 ,llGetInventoryPermMask
138 ,llGetInventoryType
139 ,llGetKey
140 ,llGetLandOwnerAt
141 ,llGetLinkKey
142 ,llGetLinkName
143 ,llGetLinkNumber
144 ,llGetLinkNumberOfSides
145 ,llGetLinkPrimitiveParams
146 ,llGetListEntryType
147 ,llGetListLength
148 ,llGetLocalPos
149 ,llGetLocalRot
150 ,llGetMass
151 ,llGetNextEmail
152 ,llGetNotecardLine
153 ,llGetNumberOfNotecardLines
154 ,llGetNumberOfPrims
155 ,llGetNumberOfSides
156 ,llGetObjectDesc
157 ,llGetObjectDetails
158 ,llGetObjectMass
159 ,llGetObjectName
160 ,llGetObjectPermMask
161 ,llGetObjectPrimCount
162 ,llGetOmega
163 ,llGetOwner
164 ,llGetOwnerKey
165 ,llGetParcelDetails
166 ,llGetParcelFlags
167 ,llGetParcelMaxPrims
168 ,llGetParcelPrimCount
169 ,llGetParcelPrimOwners
170 ,llGetPermissions
171 ,llGetPermissionsKey
172 ,llGetPos
173 ,llGetPrimitiveParams
174 ,llGetPrimMediaParams
175 ,llGetRegionAgentCount
176 ,llGetRegionCorner
177 ,llGetRegionFlags
178 ,llGetRegionFPS
179 ,llGetRegionName
180 ,llGetRegionTimeDilation
181 ,llGetRootPosition
182 ,llGetRootRotation
183 ,llGetRot
184 ,llGetScale
185 ,llGetScriptName
186 ,llGetScriptState
187 ,llGetSimulatorHostname
188 ,llGetStartParameter
189 ,llGetStatus
190 ,llGetSubString
191 ,llGetSunDirection
192 ,llGetTexture
193 ,llGetTextureOffset
194 ,llGetTextureRot
195 ,llGetTextureScale
196 ,llGetTime
197 ,llGetTimeOfDay
198 ,llGetTimestamp
199 ,llGetTorque
200 ,llGetUnixTime
201 ,llGetUsername
202 ,llGetVel
203 ,llGetWallclock
204 ,llGiveInventory
205 ,llGiveInventoryList
206 ,llGiveMoney
207 ,llGround
208 ,llGroundContour
209 ,llGroundNormal
210 ,llGroundRepel
211 ,llGroundSlope
212 ,llHTTPRequest
213 ,llHTTPResponse
214 ,llInsertString
215 ,llInstantMessage
216 ,llIntegerToBase64
217 ,llKey2Name
218 ,llLinkParticleSystem
219 ,llList2CSV
220 ,llList2Float
221 ,llList2Integer
222 ,llList2Key
223 ,llList2List
224 ,llList2ListStrided
225 ,llList2Rot
226 ,llList2String
227 ,llList2Vector
228 ,llListen
229 ,llListenControl
230 ,llListenRemove
231 ,llListFindList
232 ,llListInsertList
233 ,llListRandomize
234 ,llListReplaceList
235 ,llListSort
236 ,llListStatistics
237 ,llLoadURL
238 ,llLog
239 ,llLog10
240 ,llLookAt
241 ,llLoopSound
242 ,llLoopSoundMaster
243 ,llLoopSoundSlave
244 ,llMapDestination
245 ,llMD5String
246 ,llMessageLinked
247 ,llMinEventDelay
248 ,llModifyLand
249 ,llModPow
250 ,llMoveToTarget
251 ,llOffsetTexture
252 ,llOpenRemoteDataChannel
253 ,llOverMyLand
254 ,llOwnerSay
255 ,llParcelMediaCommandList
256 ,llParcelMediaQuery
257 ,llParseString2List
258 ,llParseStringKeepNulls
259 ,llParticleSystem
260 ,llPassCollisions
261 ,llPassTouches
262 ,llPlaySound
263 ,llPlaySoundSlave
264 ,llPointAt
265 ,llPow
266 ,llPreloadSound
267 ,llPushObject
268 ,llRegionSay
269 ,llReleaseCamera
270 ,llReleaseControls
271 ,llReleaseURL
272 ,llRemoteDataReply
273 ,llRemoteDataSetRegion
274 ,llRemoteLoadScriptPin
275 ,llRemoveFromLandBanList
276 ,llRemoveFromLandPassList
277 ,llRemoveInventory
278 ,llRemoveVehicleFlags
279 ,llRequestAgentData
280 ,llGetRequestDisplayName
281 ,llRequestInventoryData
282 ,llRequestPermissions
283 ,llRequestSecureURL
284 ,llRequestSimulatorData
285 ,llRequestURL
286 ,llRequestUsername
287 ,llRequestLandBanList
288 ,llRequestLandPassList
289 ,llResetOtherScript
290 ,llResetScript
291 ,llResetTime
292 ,llRezAtRoot
293 ,llRezObject
294 ,llRot2Angle
295 ,llRot2Axis
296 ,llRot2Euler
297 ,llRot2Fwd
298 ,llRot2Left
299 ,llRot2Up
300 ,llRotateTexture
301 ,llRotBetween
302 ,llRotLookAt
303 ,llRotTarget
304 ,llRotTargetRemove
305 ,llRound
306 ,llSameGroup
307 ,llSay
308 ,llScaleTexture
309 ,llScriptDanger
310 ,llSendRemoteData
311 ,llSensor
312 ,llSensorRemove
313 ,llSensorRepeat
314 ,llSetAlpha
315 ,llSetBuoyancy
316 ,llSetCameraAtOffset
317 ,llSetCameraEyeOffset
318 ,llSetCameraParams
319 ,llSetClickAction
320 ,llSetColor
321 ,llSetDamage
322 ,llSetForce
323 ,llSetForceAndTorque
324 ,llSetHoverHeight
325 ,llSetLinkAlpha
326 ,llSetLinkColor
327 ,llSetLinkPrimitiveParams
328 ,llSetLinkPrimitiveParamsFast
329 ,llSetLinkTexture
330 ,llSetLinkTextureAnim
331 ,llSetLocalRot
332 ,llSetObjectDesc
333 ,llSetObjectName
334 ,llSetParcelMusicURL
335 ,llSetPayPrice
336 ,llSetPos
337 ,llSetPrimitiveParams
338 ,llSetPrimMediaParams
339 ,llSetRemoteScriptAccessPin
340 ,llSetRot
341 ,llSetScale
342 ,llSetScriptState
343 ,llSetSitText
344 ,llSetSoundQueueing
345 ,llSetSoundRadius
346 ,llSetStatus
347 ,llSetText
348 ,llSetTexture
349 ,llSetTextureAnim
350 ,llSetTimerEvent
351 ,llSetTorque
352 ,llSetTouchText
353 ,llSetVehicleFlags
354 ,llSetVehicleFloatParam
355 ,llSetVehicleRotationParam
356 ,llSetVehicleType
357 ,llSetVehicleVectorParam
358 ,llSHA1String
359 ,llShout
360 ,llSin
361 ,llSitTarget
362 ,llSleep
363 ,llSqrt
364 ,llStartAnimation
365 ,llStopAnimation
366 ,llStopHover
367 ,llStopLookAt
368 ,llStopMoveToTarget
369 ,llStopPointAt
370 ,llStopSound
371 ,llStringLength
372 ,llStringToBase64
373 ,llStringTrim
374 ,llSubStringIndex
375 ,llTakeControls
376 ,llTan
377 ,llTarget
378 ,llTargetOmega
379 ,llTargetRemove
380 ,llTeleportAgentHome
381 ,llTextBox
382 ,llToLower
383 ,llToUpper
384 ,llTriggerSound
385 ,llTriggerSoundLimited
386 ,llUnescapeURL
387 ,llUnSit
388 ,llVecDist
389 ,llVecMag
390 ,llVecNorm
391 ,llVolumeDetect
392 ,llWater
393 ,llWhisper
394 ,llWind
395 ,llXorBase64StringsCorrect
396 """