Status

A large portion of the engine is currently functional, though there are certain areas that still need some work. I am currently working on completing the items in the "not implemented" below, as well as supporting documentation (including a detailed grammar definition, html based help, and scripting samples.) I am also developing a testing suite based on CppUnit to test various areas of the engines. As a side project, I'm developing an addin for Visual Studio.NET 2003 which runs cppunit based tests, hopefully similar to the testdriven.net addin. (I have been looking for one, but wasn't able to find one yet. If anybody knows about one, let me know!

Currently Implemented:

Program Flow
  • assign statements
  • repeat statements
  • while statements
  • if statements
  • for statements
  • simple expression statements
Expressions
  • as ( obj as Type )
  • multiplicative
  • additive
  • relational ( < > <= >= )
  • equality ( IS, =, IN )
Type Declaration
  • arrays
  • records
  • clases
  • interfaces (COM)
  • alias types
Declarations & Definitions

  • contants
  • variables
  • function and procedure
  • class member
  • class methods (known as static in other languages)
Program Organization
  • Module inclusion ( "uses" clause )
  • programs, units, script scopes
  • initialization and finalization blocks
COM Integeration
  • addition of COM objects (through IActiveScript::AddNamedItem() )
Currently not implemented:

  • exception handling
  • constructor & destructor definition
  • dynamic arrays
  • shift expressions
  • goto & label statements
  • with statement
  • case statement
  • set Operations
  • array & record constants
  • relational expressions ( < & > ) on strings & variants ( = is currently defined )
  • sized strings
  • item ranges
  • enumerations
  • logical and expressions
  • logical or expressions
  • 'inherited' keyword.
  • web service support
  • Active Debugging