ASPA Homepage
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.
Dependencies
In order to use ASPA you should have a Java Virtual Machine. If you want to build the project, you'll also need ant.
Libraries needed at runtime:
- antlr
- log4j for logging
- dom4j for XML parsing
- commons-collections
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.
Design Notes
Please visit the Notes page.
Documentation
Please visit the Documentation page.
Sample Applications
Please visit the Sample Applications page.
Download
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
Mailing List
Information on subscribing to the mailing list of the project can be found here.
Contact
For more information about this project, please contact the project maintainer at the following address: < anakreonmejdi at yahoo.gr >
Wiki
For a complete list of local wiki pages, see TitleIndex.
