lscript_scope.h File Reference

builds nametable and checks scope More...

#include "string_table.h"
#include "llmap.h"
#include "lscript_byteformat.h"

Include dependency graph for lscript_scope.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LLScriptArgString
class  LLScriptScopeEntry
class  LLScriptScope

Typedefs

typedef enum e_lscript_identifier_type LSCRIPTIdentifierType

Enumerations

enum  e_lscript_identifier_type {
  LIT_INVALID, LIT_GLOBAL, LIT_VARIABLE, LIT_FUNCTION,
  LIT_LABEL, LIT_STATE, LIT_HANDLER, LIT_LIBRARY_FUNCTION,
  LIT_EOF
}

Variables

const char LSCRIPTFunctionTypeStrings [LST_EOF]
const char *const LSCRIPTListDescription [LST_EOF]
const char *const LSCRIPTTypePush [LST_EOF]
const char *const LSCRIPTTypeReturn [LST_EOF]
const char *const LSCRIPTTypePop [LST_EOF]
const char *const LSCRIPTTypeDuplicate [LST_EOF]
const char *const LSCRIPTTypeLocalStore [LST_EOF]
const char *const LSCRIPTTypeLocalDeclaration [LST_EOF]
const char *const LSCRIPTTypeGlobalStore [LST_EOF]
const char *const LSCRIPTTypeLocalPush [LST_EOF]
const char *const LSCRIPTTypeLocalPush1 [LST_EOF]
const char *const LSCRIPTTypeGlobalPush [LST_EOF]
LLStringTablegScopeStringTable


Detailed Description

builds nametable and checks scope

LicenseInfo
firstyear=2002&license=viewergpl

Copyright (c) 2002-2007, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file lscript_scope.h.


Typedef Documentation

typedef enum e_lscript_identifier_type LSCRIPTIdentifierType


Enumeration Type Documentation

enum e_lscript_identifier_type

Enumerator:
LIT_INVALID 
LIT_GLOBAL 
LIT_VARIABLE 
LIT_FUNCTION 
LIT_LABEL 
LIT_STATE 
LIT_HANDLER 
LIT_LIBRARY_FUNCTION 
LIT_EOF 

Definition at line 39 of file lscript_scope.h.


Variable Documentation

LLStringTable* gScopeStringTable

Definition at line 36 of file lscript_scope.cpp.

Referenced by LLScriptJumpTable::addJump(), LLScriptJumpTable::addLabel(), LLScriptCompoundStatement::recurse(), LLScriptEventHandler::recurse(), LLScriptGlobalFunctions::recurse(), and LLScriptScript::recurse().

const char LSCRIPTFunctionTypeStrings[LST_EOF]

Initial value:

                
{
        '0',
        'i',
        'f',
        's',
        'k',
        'v',
        'q',
        'l',
        '0'
}

Definition at line 52 of file lscript_scope.h.

Referenced by LLScriptArgString::addType().

const char* const LSCRIPTListDescription[LST_EOF]

Initial value:

        
{
   "PUSHARGB 0",
   "PUSHARGB 1",
   "PUSHARGB 2",
   "PUSHARGB 3",
   "PUSHARGB 4",
   "PUSHARGB 5",
   "PUSHARGB 6",
   "PUSHARGB 7",
   "PUSHARGB 0"
}

Definition at line 65 of file lscript_scope.h.

Referenced by LLScriptListExpressionList::recurse().

const char* const LSCRIPTTypeDuplicate[LST_EOF]

Initial value:

                
{
        "INVALID",
        "DUP",
        "DUP",
        "DUPS",
        "DUPS",
        "DUPV",
        "DUPQ",
        "DUPL",
        "undefined"
}

Definition at line 117 of file lscript_scope.h.

const char* const LSCRIPTTypeGlobalPush[LST_EOF]

Initial value:

        
{
        "INVALID",
        "PUSHG ",
        "PUSHG ",
        "PUSHGS ",
        "PUSHGS ",
        "PUSHGV ",
        "PUSHGQ ",
        "PUSHGL ",
        "undefined"
}

Definition at line 195 of file lscript_scope.h.

Referenced by LLScriptLValue::recurse().

const char* const LSCRIPTTypeGlobalStore[LST_EOF]

Initial value:

        
{
        "INVALID",
        "STOREG ",
        "STOREG ",
        "STORESG ",
        "STORESG ",
        "STOREGV ",
        "STOREGQ ",
        "STORELG ",
        "undefined"
}

Definition at line 156 of file lscript_scope.h.

Referenced by print_asignment().

const char* const LSCRIPTTypeLocalDeclaration[LST_EOF]

Initial value:

                
{
        "INVALID",
        "STOREP ",
        "STOREP ",
        "STORESP ",
        "STORESP ",
        "STOREVP ",
        "STOREQP ",
        "STORELP ",
        "undefined"
}

Definition at line 143 of file lscript_scope.h.

Referenced by LLScriptDeclaration::recurse().

const char* const LSCRIPTTypeLocalPush[LST_EOF]

Initial value:

                
{
        "INVALID",
        "PUSH ",
        "PUSH ",
        "PUSHS ",
        "PUSHS ",
        "PUSHV ",
        "PUSHQ ",
        "PUSHL ",
        "undefined"
}

Definition at line 169 of file lscript_scope.h.

Referenced by LLScriptLValue::recurse().

const char* const LSCRIPTTypeLocalPush1[LST_EOF]

Initial value:

                
{
        "INVALID",
        "PUSHARGI 1",
        "PUSHARGF 1",
        "undefined",
        "undefined",
        "undefined",
        "undefined",
        "undefined",
        "undefined"
}

Definition at line 182 of file lscript_scope.h.

const char* const LSCRIPTTypeLocalStore[LST_EOF]

Initial value:

        
{
        "INVALID",
        "STORE ",
        "STORE ",
        "STORES ",
        "STORES ",
        "STOREV ",
        "STOREQ ",
        "STOREL ",
        "undefined"
}

Definition at line 130 of file lscript_scope.h.

Referenced by print_asignment().

const char* const LSCRIPTTypePop[LST_EOF]

Initial value:

        
{
        "INVALID",
        "POP",
        "POP",
        "POPS",
        "POPS",
        "POPV",
        "POPQ",
        "POPL",
        "undefined"
}

Definition at line 104 of file lscript_scope.h.

Referenced by print_exit_pops(), LLScriptExpressionStatement::recurse(), LLScriptPostDecrement::recurse(), LLScriptPostIncrement::recurse(), and LLScriptForExpressionList::recurse().

const char* const LSCRIPTTypePush[LST_EOF]

Initial value:

        
{
        "INVALID",
        "PUSHE",
        "PUSHE",
        "PUSHE",
        "PUSHE",
        "PUSHEV",
        "PUSHEQ",
        "PUSHE",
        "undefined"
}

Definition at line 78 of file lscript_scope.h.

Referenced by LLScriptFunctionCall::recurse().

const char* const LSCRIPTTypeReturn[LST_EOF]

Initial value:

        
{
        "INVALID",
        "LOADP -12",
        "LOADP -12",
        "STORES -12\nPOP",
        "STORES -12\nPOP",
        "LOADVP -20",
        "LOADQP -24",
        "LOADLP -12",
        "undefined"
}

Definition at line 91 of file lscript_scope.h.

Referenced by LLScriptReturn::recurse().


Generated on Thu Jul 1 06:10:53 2010 for Second Life Viewer by  doxygen 1.4.7