OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
OgreScriptCompiler.h File Reference
#include "OgreSharedPtr.h"
#include "OgreSingleton.h"
#include "OgreScriptLoader.h"
#include "OgreGpuProgram.h"
#include "OgreAny.h"
#include "Threading/OgreThreadHeaders.h"
#include "OgreHeaderPrefix.h"
#include "OgreHeaderSuffix.h"
+ Include dependency graph for OgreScriptCompiler.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Ogre::AbstractNode
 
class  Ogre::AtomAbstractNode
 This is an abstract node which cannot be broken down further. More...
 
struct  Ogre::ConcreteNode
 
class  Ogre::CreateCompositorScriptCompilerEvent
 
class  Ogre::CreateGpuProgramScriptCompilerEvent
 
class  Ogre::CreateGpuSharedParametersScriptCompilerEvent
 
class  Ogre::CreateHighLevelGpuProgramScriptCompilerEvent
 
class  Ogre::CreateMaterialScriptCompilerEvent
 
class  Ogre::CreateParticleSystemScriptCompilerEvent
 
class  Ogre::ImportAbstractNode
 This abstract node represents an import statement. More...
 
class  Ogre::ObjectAbstractNode
 This specific abstract node represents a script object. More...
 
class  Ogre::PreApplyTextureAliasesScriptCompilerEvent
 
class  Ogre::ProcessNameExclusionScriptCompilerEvent
 
class  Ogre::ProcessResourceNameScriptCompilerEvent
 
class  Ogre::PropertyAbstractNode
 This abstract node represents a script property. More...
 
class  Ogre::ScriptCompiler
 This is the main class for the compiler. More...
 
class  Ogre::ScriptCompiler::AbstractTreeBuilder
 
struct  Ogre::ScriptCompiler::Error
 
class  Ogre::ScriptCompilerEvent
 This struct is a base class for events which can be thrown by the compilers and caught by subscribers. More...
 
class  Ogre::ScriptCompilerListener
 This is a listener for the compiler. More...
 
class  Ogre::ScriptCompilerManager
 Manages threaded compilation of scripts. More...
 
class  Ogre::VariableAccessAbstractNode
 This abstract node represents a variable assignment. More...
 

Namespaces

 Ogre
 

This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info, see http://www.ogre3d.org/

 

Typedefs

typedef list< AbstractNodePtr >
::type 
Ogre::AbstractNodeList
 
typedef SharedPtr
< AbstractNodeList > 
Ogre::AbstractNodeListPtr
 
typedef SharedPtr< AbstractNode > Ogre::AbstractNodePtr
 
typedef list< ConcreteNodePtr >
::type 
Ogre::ConcreteNodeList
 
typedef SharedPtr
< ConcreteNodeList > 
Ogre::ConcreteNodeListPtr
 
typedef SharedPtr< ConcreteNode > Ogre::ConcreteNodePtr
 

Enumerations

enum  {
  Ogre::ID_MATERIAL = 3, Ogre::ID_VERTEX_PROGRAM, Ogre::ID_GEOMETRY_PROGRAM, Ogre::ID_FRAGMENT_PROGRAM,
  Ogre::ID_TECHNIQUE, Ogre::ID_PASS, Ogre::ID_TEXTURE_UNIT, Ogre::ID_VERTEX_PROGRAM_REF,
  Ogre::ID_GEOMETRY_PROGRAM_REF, Ogre::ID_FRAGMENT_PROGRAM_REF, Ogre::ID_SHADOW_CASTER_VERTEX_PROGRAM_REF, Ogre::ID_SHADOW_CASTER_FRAGMENT_PROGRAM_REF,
  Ogre::ID_SHADOW_CASTER_MATERIAL, Ogre::ID_LOD_VALUES, Ogre::ID_LOD_STRATEGY, Ogre::ID_LOD_DISTANCES,
  Ogre::ID_RECEIVE_SHADOWS, Ogre::ID_TRANSPARENCY_CASTS_SHADOWS, Ogre::ID_SET_TEXTURE_ALIAS, Ogre::ID_SOURCE,
  Ogre::ID_SYNTAX, Ogre::ID_DEFAULT_PARAMS, Ogre::ID_PARAM_INDEXED, Ogre::ID_PARAM_NAMED,
  Ogre::ID_PARAM_INDEXED_AUTO, Ogre::ID_PARAM_NAMED_AUTO, Ogre::ID_SCHEME, Ogre::ID_LOD_INDEX,
  Ogre::ID_GPU_VENDOR_RULE, Ogre::ID_GPU_DEVICE_RULE, Ogre::ID_INCLUDE, Ogre::ID_EXCLUDE,
  Ogre::ID_AMBIENT, Ogre::ID_DIFFUSE, Ogre::ID_SPECULAR, Ogre::ID_EMISSIVE,
  Ogre::ID_VERTEXCOLOUR, Ogre::ID_SCENE_BLEND, Ogre::ID_COLOUR_BLEND, Ogre::ID_ONE,
  Ogre::ID_ZERO, Ogre::ID_DEST_COLOUR, Ogre::ID_SRC_COLOUR, Ogre::ID_ONE_MINUS_DEST_COLOUR,
  Ogre::ID_ONE_MINUS_SRC_COLOUR, Ogre::ID_DEST_ALPHA, Ogre::ID_SRC_ALPHA, Ogre::ID_ONE_MINUS_DEST_ALPHA,
  Ogre::ID_ONE_MINUS_SRC_ALPHA, Ogre::ID_SEPARATE_SCENE_BLEND, Ogre::ID_SCENE_BLEND_OP, Ogre::ID_REVERSE_SUBTRACT,
  Ogre::ID_MIN, Ogre::ID_MAX, Ogre::ID_SEPARATE_SCENE_BLEND_OP, Ogre::ID_DEPTH_CHECK,
  Ogre::ID_DEPTH_WRITE, Ogre::ID_DEPTH_FUNC, Ogre::ID_DEPTH_BIAS, Ogre::ID_ITERATION_DEPTH_BIAS,
  Ogre::ID_ALWAYS_FAIL, Ogre::ID_ALWAYS_PASS, Ogre::ID_LESS_EQUAL, Ogre::ID_LESS,
  Ogre::ID_EQUAL, Ogre::ID_NOT_EQUAL, Ogre::ID_GREATER_EQUAL, Ogre::ID_GREATER,
  Ogre::ID_ALPHA_REJECTION, Ogre::ID_ALPHA_TO_COVERAGE, Ogre::ID_LIGHT_SCISSOR, Ogre::ID_LIGHT_CLIP_PLANES,
  Ogre::ID_TRANSPARENT_SORTING, Ogre::ID_ILLUMINATION_STAGE, Ogre::ID_DECAL, Ogre::ID_CULL_HARDWARE,
  Ogre::ID_CLOCKWISE, Ogre::ID_ANTICLOCKWISE, Ogre::ID_CULL_SOFTWARE, Ogre::ID_BACK,
  Ogre::ID_FRONT, Ogre::ID_NORMALISE_NORMALS, Ogre::ID_LIGHTING, Ogre::ID_SHADING,
  Ogre::ID_FLAT, Ogre::ID_GOURAUD, Ogre::ID_PHONG, Ogre::ID_POLYGON_MODE,
  Ogre::ID_SOLID, Ogre::ID_WIREFRAME, Ogre::ID_POINTS, Ogre::ID_POLYGON_MODE_OVERRIDEABLE,
  Ogre::ID_FOG_OVERRIDE, Ogre::ID_NONE, Ogre::ID_LINEAR, Ogre::ID_EXP,
  Ogre::ID_EXP2, Ogre::ID_COLOUR_WRITE, Ogre::ID_MAX_LIGHTS, Ogre::ID_START_LIGHT,
  Ogre::ID_ITERATION, Ogre::ID_ONCE, Ogre::ID_ONCE_PER_LIGHT, Ogre::ID_PER_LIGHT,
  Ogre::ID_PER_N_LIGHTS, Ogre::ID_POINT, Ogre::ID_SPOT, Ogre::ID_DIRECTIONAL,
  Ogre::ID_LIGHT_MASK, Ogre::ID_POINT_SIZE, Ogre::ID_POINT_SPRITES, Ogre::ID_POINT_SIZE_ATTENUATION,
  Ogre::ID_POINT_SIZE_MIN, Ogre::ID_POINT_SIZE_MAX, Ogre::ID_TEXTURE_ALIAS, Ogre::ID_TEXTURE,
  Ogre::ID_1D, Ogre::ID_2D, Ogre::ID_3D, Ogre::ID_CUBIC,
  Ogre::ID_2DARRAY, Ogre::ID_UNLIMITED, Ogre::ID_ALPHA, Ogre::ID_GAMMA,
  Ogre::ID_ANIM_TEXTURE, Ogre::ID_CUBIC_TEXTURE, Ogre::ID_SEPARATE_UV, Ogre::ID_COMBINED_UVW,
  Ogre::ID_TEX_COORD_SET, Ogre::ID_TEX_ADDRESS_MODE, Ogre::ID_WRAP, Ogre::ID_CLAMP,
  Ogre::ID_BORDER, Ogre::ID_MIRROR, Ogre::ID_TEX_BORDER_COLOUR, Ogre::ID_FILTERING,
  Ogre::ID_BILINEAR, Ogre::ID_TRILINEAR, Ogre::ID_ANISOTROPIC, Ogre::ID_CMPTEST,
  Ogre::ID_ON, Ogre::ID_OFF, Ogre::ID_CMPFUNC, Ogre::ID_MAX_ANISOTROPY,
  Ogre::ID_MIPMAP_BIAS, Ogre::ID_COLOUR_OP, Ogre::ID_REPLACE, Ogre::ID_ADD,
  Ogre::ID_MODULATE, Ogre::ID_ALPHA_BLEND, Ogre::ID_COLOUR_OP_EX, Ogre::ID_SOURCE1,
  Ogre::ID_SOURCE2, Ogre::ID_MODULATE_X2, Ogre::ID_MODULATE_X4, Ogre::ID_ADD_SIGNED,
  Ogre::ID_ADD_SMOOTH, Ogre::ID_SUBTRACT, Ogre::ID_BLEND_DIFFUSE_COLOUR, Ogre::ID_BLEND_DIFFUSE_ALPHA,
  Ogre::ID_BLEND_TEXTURE_ALPHA, Ogre::ID_BLEND_CURRENT_ALPHA, Ogre::ID_BLEND_MANUAL, Ogre::ID_DOT_PRODUCT,
  Ogre::ID_SRC_CURRENT, Ogre::ID_SRC_TEXTURE, Ogre::ID_SRC_DIFFUSE, Ogre::ID_SRC_SPECULAR,
  Ogre::ID_SRC_MANUAL, Ogre::ID_COLOUR_OP_MULTIPASS_FALLBACK, Ogre::ID_ALPHA_OP_EX, Ogre::ID_ENV_MAP,
  Ogre::ID_SPHERICAL, Ogre::ID_PLANAR, Ogre::ID_CUBIC_REFLECTION, Ogre::ID_CUBIC_NORMAL,
  Ogre::ID_SCROLL, Ogre::ID_SCROLL_ANIM, Ogre::ID_ROTATE, Ogre::ID_ROTATE_ANIM,
  Ogre::ID_SCALE, Ogre::ID_WAVE_XFORM, Ogre::ID_SCROLL_X, Ogre::ID_SCROLL_Y,
  Ogre::ID_SCALE_X, Ogre::ID_SCALE_Y, Ogre::ID_SINE, Ogre::ID_TRIANGLE,
  Ogre::ID_SQUARE, Ogre::ID_SAWTOOTH, Ogre::ID_INVERSE_SAWTOOTH, Ogre::ID_TRANSFORM,
  Ogre::ID_BINDING_TYPE, Ogre::ID_VERTEX, Ogre::ID_FRAGMENT, Ogre::ID_CONTENT_TYPE,
  Ogre::ID_NAMED, Ogre::ID_SHADOW, Ogre::ID_COMPOSITOR, Ogre::ID_TEXTURE_SOURCE,
  Ogre::ID_SHARED_PARAMS, Ogre::ID_SHARED_PARAM_NAMED, Ogre::ID_SHARED_PARAMS_REF, Ogre::ID_PARTICLE_SYSTEM,
  Ogre::ID_EMITTER, Ogre::ID_AFFECTOR, Ogre::ID_WORKSPACE, Ogre::ID_ALIAS,
  Ogre::ID_CONNECT, Ogre::ID_CONNECT_OUTPUT, Ogre::ID_COMPOSITOR_NODE, Ogre::ID_IN,
  Ogre::ID_OUT, Ogre::ID_CUSTOM_ID, Ogre::ID_TARGET_WIDTH, Ogre::ID_TARGET_HEIGHT,
  Ogre::ID_TARGET_WIDTH_SCALED, Ogre::ID_TARGET_HEIGHT_SCALED, Ogre::ID_NO_GAMMA, Ogre::ID_NO_FSAA,
  Ogre::ID_EXPLICIT_RESOLVE, Ogre::ID_DEPTH_POOL, Ogre::ID_TARGET, Ogre::ID_CLEAR,
  Ogre::ID_STENCIL, Ogre::ID_RENDER_SCENE, Ogre::ID_RENDER_QUAD, Ogre::ID_VIEWPORT,
  Ogre::ID_NUM_INITIAL, Ogre::ID_IDENTIFIER, Ogre::ID_OVERLAYS, Ogre::ID_LOD_BIAS,
  Ogre::ID_LOD_UPDATE_LIST, Ogre::ID_LOD_CAMERA, Ogre::ID_MATERIAL_SCHEME, Ogre::ID_VISIBILITY_MASK,
  Ogre::ID_SHADOWS_ENABLED, Ogre::ID_CAMERA, Ogre::ID_FIRST_RENDER_QUEUE, Ogre::ID_LAST_RENDER_QUEUE,
  Ogre::ID_CAMERA_CUBEMAP_REORIENT, Ogre::ID_USE_QUAD, Ogre::ID_QUAD_NORMALS, Ogre::ID_CAMERA_FAR_CORNERS_VIEW_SPACE,
  Ogre::ID_CAMERA_FAR_CORNERS_WORLD_SPACE, Ogre::ID_INPUT, Ogre::ID_BUFFERS, Ogre::ID_COLOUR,
  Ogre::ID_DEPTH, Ogre::ID_COLOUR_VALUE, Ogre::ID_DEPTH_VALUE, Ogre::ID_STENCIL_VALUE,
  Ogre::ID_DISCARD_ONLY, Ogre::ID_CHECK, Ogre::ID_COMP_FUNC, Ogre::ID_REF_VALUE,
  Ogre::ID_MASK, Ogre::ID_FAIL_OP, Ogre::ID_KEEP, Ogre::ID_INCREMENT,
  Ogre::ID_DECREMENT, Ogre::ID_INCREMENT_WRAP, Ogre::ID_DECREMENT_WRAP, Ogre::ID_INVERT,
  Ogre::ID_DEPTH_FAIL_OP, Ogre::ID_PASS_OP, Ogre::ID_TWO_SIDED, Ogre::ID_READ_BACK_AS_TEXTURE,
  Ogre::ID_SHADOW_NODE, Ogre::ID_NUM_SPLITS, Ogre::ID_PSSM_SPLIT_PADDING, Ogre::ID_PSSM_LAMBDA,
  Ogre::ID_SHADOW_MAP, Ogre::ID_SHADOW_ATLAS, Ogre::ID_FSAA, Ogre::ID_LIGHT,
  Ogre::ID_SPLIT, Ogre::ID_TESSELLATION_HULL_PROGRAM, Ogre::ID_TESSELLATION_DOMAIN_PROGRAM, Ogre::ID_COMPUTE_PROGRAM,
  Ogre::ID_TESSELLATION_HULL_PROGRAM_REF, Ogre::ID_TESSELLATION_DOMAIN_PROGRAM_REF, Ogre::ID_COMPUTE_PROGRAM_REF, Ogre::ID_GEOMETRY,
  Ogre::ID_TESSELLATION_HULL, Ogre::ID_TESSELLATION_DOMAIN, Ogre::ID_COMPUTE, Ogre::ID_SUBROUTINE,
  Ogre::ID_END_BUILTIN_IDS
}
 This enum defines the integer ids for keywords this compiler handles. More...
 
enum  Ogre::AbstractNodeType {
  Ogre::ANT_UNKNOWN, Ogre::ANT_ATOM, Ogre::ANT_OBJECT, Ogre::ANT_PROPERTY,
  Ogre::ANT_IMPORT, Ogre::ANT_VARIABLE_SET, Ogre::ANT_VARIABLE_ACCESS
}
 This enum holds the types of the possible abstract nodes. More...
 
enum  Ogre::ConcreteNodeType {
  Ogre::CNT_VARIABLE, Ogre::CNT_VARIABLE_ASSIGN, Ogre::CNT_WORD, Ogre::CNT_IMPORT,
  Ogre::CNT_QUOTE, Ogre::CNT_LBRACE, Ogre::CNT_RBRACE, Ogre::CNT_COLON
}
 These enums hold the types of the concrete parsed nodes. More...