ASPA attempts to automate the process of translating asp pages into php. The supported languages are JScript and VbScript. ASPA is based on compiler technology. The source files are transformed into a stream of tokens and lexical analysis is performed during the process. A Parser (each language has it's own parser) uses the tokens in order to generate the Abstract Syntax Tree (AST) and performs syntax analysis. The AST is fed to a TreeParser (see
http://antlr.org) and the information stored in the AST along with information stored in xml files are used to translate the original AST into an other AST which encodes php code. The xml files are used as templates for the translation of ActiveX components methods calls into method calls of php of equivalent functionality. The user can modify the xml files or add new ones in order to support additional ActiveX components which are not currently supported. The final AST is transformed into php source code.
ASPA is under development. Some features are not implemented and more descriptions of ActiveX components are required. Currently most of built-in functions of VbScript and the built-in objects of JScript are supported. Also, the Request, Response, Server and Session objects are partially supported since some of the included methods in these objects are missing. We anticipate that the missing features will be implemented soon with the help provided by the Free Software community.