写点什么

asDox 最新发布版本推动 ActionScript 3 的代码生成

  • 2008-05-15
  • 本文字数:959 字

    阅读完需:约 3 分钟

上周, Michael Ramirez 发布了使用 Python 编写的 ActionScript 3 解析器—— asDox 1.0 Alpha 2 的版本。该解析器建立于针对Java 的 qDox 的基础上,它能够从源文件中提取比如类/接口、import 句柄、JavaDoc 标签和成员声明等一些特定信息。为了对该解析器进行更深入的了解,InfoQ 就此采访了 Ramirez。

Ramirez 这样回忆他最初使用 Python 开发 ActionScript 解析器的初衷:

我决定开发 asDox 是因为我觉得 ActionScript 3 需要一个类似于 qDox 的代码生成工具。而我选择 Python 作为开发语言,是由于 PyParsing 模块的存在。我发现 PyParsing 使用起来非常方便,并且在用它来开发 ActionScript 3 解析器的过程让我觉得挺有意思的。 最终的开发成品是我的目标,但真正要发布一个正规版本可能还是需要花上一些时间。asDox 可以通过生成代码来提高开发人员的工作效率。比如,假使你开发一组 ActionScript 3 类的话,使用 asDox 可以帮助你自动生成 PHP 后端代码。

在关于 asDox 和作为 Flex Builder 一部分的 Adobe 的 ASDoc 之间的关系这个问题上,Ramirez 说:

AsDoc 是通过解析内嵌在 ActionScript 3 源文件中的 JavaDoc 标签来生成 API 文档的工具。而 asDox 不仅能够解析 JavaDoc 标签,还能够解析包、类、变量和方法等等。它能够为开发人员提供了更多 ActionScript 3 源文件中的信息。如果将模板引擎与之结合使用的话,它将会是一个极为强大的代码生成工具。

另外,Ramirez 接着解释了他从 qDox 中的借鉴了什么以及在 asDox 的实现中所做的优化,他指出“asDox 的 Alpha 1 版本有一个和 qDox 的非常接近的 API,这使得 Python 开发人员很难使用 asDox。在Python 不是 Java(Python Is Not Java)发表之后,经过对之前的工作进行重构,最近的这个发布版本对 Python 则更为友好一些。”

asDox 的开发过程并非一帆风顺。正如 Ramirez 所述,“在开发 asDox 过程中最大的挑战是编写 ActionScript 3 解析器。ActionScript 3 是一种很难解析的语言,单就它的文法就很棘手。”

无论如何,Ramirez 计划还是继续他的工作。他说:“我计划为 asDox 开发一个 Adobe Air 桌面应用,但目前,我首先需要将精力集中在 asDox 1.0.0 的发布上。我非常希望能够不断地得到社区的反馈,从而将这个工具进一步优化。”

查看英文原文: New asDox Release Helps ActionScript 3 Code Generation

2008-05-15 22:581377
用户头像

发布了 71 篇内容, 共 23.8 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

基于f2从零实现移动端可视化编辑器

徐小夕

Java H5 数据可视化 h5编辑器 H5制作

架构师训练营第 8 周学习总结

netspecial

极客大学架构师训练营

大招落地:MySQL 插入更新死锁源码分析

AI乔治

Java MySQL 编程 架构

架构师训练营第 1 期 - 第 8 周课后练习

Anyou Liu

极客大学架构师训练营

架构师训练营第1期 - week08 - 作业

lucian

极客大学架构师训练营

极客大学 - 架构师培训 -ch3 作业

bing5tui3

极客大学架构师训练营

你以为只是简单的排序?(一)

书旅

数据结构与算法 Go 语言

作业-第4周总结

arcyao

Flutter 开发从 0 到 1(一)需求与准备

吴小龙同学

flutter ios android 跨平台

Flutter 开发从 0 到 1(二)框架与网络

吴小龙同学

flutter ios android 跨平台

架构师训练营 - 第四周课后练习

joshuamai

如何正确的关闭线程池

Rayjun

Java 线程池

面试官最常用小心思:说说你的项目并发量多大?负载均衡怎么做?

小Q

Java Linux 学习 面试 并发

16张图带你彻底搞懂基数排序

Java架构师迁哥

我用 Python 找出了删除我微信的所有人并将他们自动化删除了

Python小二

Python 微信

目标检测-darknet 之模型初始化

Dreamer

线上排障技巧 | 动态修改LOGGER级别

AI乔治

Java 编程 架构 JVM

【薪火计划】01 - 好与坏

码上生长

管理

ARTS Week14

丽子

架构师训练营 - 第四周学习总结

joshuamai

架构师训练营第 8 周作业

netspecial

极客大学架构师训练营

java是如何调用native方法?hotspot源码分析必会技能

诸葛小猿

Java jdk JVM jni hotspot

极客时间 - 架构师一期 - 第八周作业

_

极客大学架构师训练营 第八周作业

在线IDE开发入门之从零实现一个在线代码编辑器

徐小夕

Java ide H5 H5制作 代码编辑器

作业-第4周

arcyao

杂谈

落曦

用eBPF/bcc分析系统性能的一个简单案例

AI乔治

Java 编程 架构 大前端

第八章作业

alpha

极客大学架构师训练营

上海与鲲鹏的数字共鸣

脑极体

fastJson与一起堆内存溢出'血案'

AI乔治

Java 架构 JVM Fastjson 内存溢出

C++的智能指针你了解吗?

良知犹存

c++

asDox最新发布版本推动ActionScript 3的代码生成_Java_Moxie Zhang_InfoQ精选文章