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 """

MoinMoin: parser/lsl.py (last edited 2011-03-24 17:03:08 by ReimarBauer)