What is ASPA?
ASPA attempts to automate the process of translating ASP pages into PHP. The supported languages are JScript and VBScript.
Design of ASPA
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 Tree Parser (see antlr.org) and the information stored in the AST along with information stored in XML files are used to translate the original AST into another 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 to add support for new ActiveX components. 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 the built-in functions of VBScript and the built-in objects of JScript are supported. Also, the Request, Response, Sever 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.
Libraries needed at runtime:
Libraries needed at compile time:
- Those referenced above plus annotation2
These libraries are included in the source distribution lib/ directory.
For more information about building and running the program, see the trunk/README file.
Please visit the Notes page.
Please visit the Documentation page.
Please visit the Sample Applications page.
To get access to the latest source code do:
svn checkout http://rainbow.cs.unipi.gr/svn/aspa
Please bare in mind that you will have to dowload separately any libraries mentioned in the Dependencies section.
For bundled software, visit the Releases page
Information on subscribing to the mailing list of the project can be found here.
For more information about this project, please contact the project maintainer at the following address: < anakreonmejdi at yahoo.gr >
For a complete list of local wiki pages, see TitleIndex.