InfoQ

News

New asDox Release Helps ActionScript 3 Code Generation

Posted by Moxie Zhang on May 14, 2008 10:47 AM

Community
Java
Topics
Rich Internet Apps
Tags
Python

Last week Michael Ramirez released asDox 1.0 Alpha 2, an ActionScript 3 parser written in Python. It is based on qDox for Java. The parser skims the source files only looking for things of interest, such as class/interface definitions, import statements, JavaDoc tags and member declarations. InfoQ spoke with Ramirez to gain additional insight.

Ramirez explained the motivation for developing an ActionScript parser in Python, recalling:

I decided to develop asDox, because I felt ActionScript 3 needed a code generation tool similar to qDox. I choose Python, because of the PyParsing module. I found PyParsing very easy to use, and it made developing an ActionScript 3 parser fun.

An end product is the goal, but it will probably be a while before I can release one. The asDox is a tool to increase your productivity as a developer via code generation. For example, you might develop a collection of ActionScript 3 classes and use asDox to automatically generate the PHP back-end code.

On the relationship between asDox and Adobe’s ASDoc , which is now part of Flex Builder, Ramirez says:

AsDoc is a tool used to generate API documentation by parsing JavaDoc tags embedded in ActionScript 3 source files. asDox is a tool that parses not only JavaDoc tags, but also packages, classes, variables and methods. It provides the developer with more information about his or her ActionScript 3 source files. When combined with a template engine, it can be a very powerful tool in code generation.

Ramirez went on to explain how much he adapted from qDox and the improvement he made in asDox implementation, pointing out, “The Alpha 1 release of asDox had an API that very closely matched that of qDox. This made asDox harder to use for Python developers. After the publication of Python Is Not Java, the last release has been completely reworked to be more Python friendly.”

The development of asDox was not painless. As Ramirez notes, “The biggest challenge in developing asDox was writing the ActionScript 3 parser. ActionScript 3 is a very difficult language to parse, because it's not very forgiving in terms of syntax.

Nevertheless, Ramirez plans to forge ahead with his work. He says, “I plan to develop an Adobe Air desktop application for asDox. But, right now my primary focus is on getting asDox to a 1.0.0 release. I am really counting on feedback from the community to make this tool better.”

No comments

Reply

Exclusive Content

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.

Christophe Coenraets Discusses Flex 3, AIR, and BlazeDS

Christophe Coenraets discusses Flex 3, Flex Builder, AIR, BlazeDS, Adobe and open source, integrating Flex with existing applications, and integrating RIAs with search engines and browsers.

Debunking Common Refactoring Misconceptions

Danijel Arsenovski attempts to dispel some of the myths around refactoring and how it applies to .NET developers.

REST Eye for the SOA Guy

In this presentation, recorded at QCon San Francisco, CORBA guru Steve Vinoski explains REST from the view of someone who comes to SOA from a traditional, RPC-oriented background.

Choose Feature Teams over Component Teams for Agility

Feature teams are key to scaling agility for large teams. In an excerpt from "Scaling Lean and Agile Development," Larman & Vodde show how feature teams resolve traditional problems & raise new issues

Billy Newport explains Virtualization

Billy Newport talks about virtualization, eXtreme Transaction Processing (XTP) and WebSphere Virtual Enterprise. He discusses hardware, hypervisor, JVM, application and data virtualization.

Virtualization and Security

While virtualization provides many benefits, security can not be a forgotten concept in its application.

Introduction to Agile for Traditional Project Managers

This session is specifically aimed at traditionally trained project managers who are new to Agile, and who would like to be able to relate the PMI's best practices to their Agile equivalents.