Om  1.0.0
A universal framework for multimedia simulation
Classes | Public Member Functions | List of all members
om::scripting::mir::ContextualAnalyzer Class Reference

A class that analyzes the structure of a parsed AST to determine if it is semantically valid. More...

#include <omScriptingMirContextualAnalyzer.h>

Public Member Functions

 ContextualAnalyzer ()
 Create a new contextual analyzer object. More...
 
Bool check (const UTF8String &source, const ArrayList< Token > &tokens, const Shared< Module > &module, ArrayList< Error > &errors)
 Check the structure of a parsed module and return whether or not the module is semantically valid. More...
 
Bool check (const UTF8String &source, const ArrayList< Token > &tokens, const Shared< Module > &module)
 Check the structure of a parsed module and return whether or not the module is semantically valid. More...
 

Detailed Description

A class that analyzes the structure of a parsed AST to determine if it is semantically valid.

Constructor & Destructor Documentation

om::scripting::mir::ContextualAnalyzer::ContextualAnalyzer ( )

Create a new contextual analyzer object.

Member Function Documentation

Bool om::scripting::mir::ContextualAnalyzer::check ( const UTF8String &  source,
const ArrayList< Token > &  tokens,
const Shared< Module > &  module,
ArrayList< Error > &  errors 
)

Check the structure of a parsed module and return whether or not the module is semantically valid.

This process involves type checking and name resolution, along with deferred expression parsing (because of ambiguities in the grammar).

If there are any errors, they are placed in the output list of errors. The method returns TRUE if there are no errors, and FALSE if any errors are encountered.

Bool om::scripting::mir::ContextualAnalyzer::check ( const UTF8String &  source,
const ArrayList< Token > &  tokens,
const Shared< Module > &  module 
)

Check the structure of a parsed module and return whether or not the module is semantically valid.

This process involves type checking and name resolution, along with deferred expression parsing (because of ambiguities in the grammar).

The method returns TRUE if there are no errors, and FALSE if any errors are encountered.


The documentation for this class was generated from the following file: