预处理、指令和混合插件之间有什么区别?

What is the difference between preprocessing, directives and mix ins?

我正在使用开发人员工具,您可以在其中导出 HTML。它还保存为自己的文件格式(不是 html)。使用此工具,我正在导出、替换和生成代码,但我不确定我正在做的每件事的术语是什么。

在开发人员工具中,我有一个设计视图和一个导出到 HTML 的选项。根据其中一个面板中的用户设置选项,我将在 HTML 生成的标记代码周围添加 附加 代码。当用户单击导出时,这会在工具代码中发生。这是预处理指令吗?

稍后用户保存他们的文件我将此信息保存到文本文件中,说明在导出时添加附加代码。这叫指令吗?

什么是混音?

我希望这是有道理的。

此外,该工具生成 HTML 标记,并在上面的示例中插入了上面的一些代码。这是一个编译器吗?

更新:
这必须与具有 Flash Player 虚拟机和 ActionScript 的项目相关,因此包含 "mixins"、"preprocessing" 和“[compiler] 指令”等词的语言可能会本地化到此字段。我猜这就是人们反对的原因。我认为如果有人对原 post 投反对票,他们应该被要求发表评论。

我会尝试回答一些我认为你在问的问题。

What is preprocessing in the context of ActionScript 3?

预处理意味着执行预编译宏语言,在编译之前修改代码。我能找到的最接近 ActionScript3 预处理器的东西是 Flex SDK 的 MXMLC 编译器,它 does support something equivalent to #defines.

这就是所谓的编译器指令,如 MXMLC's documentation on conditional compilation 所示。

What are mix ins?

According to Adobe、"A mixin provides an easy way to dynamically add the methods of an existing class to a custom class without using inheritance. You mix in the class, and then add that class's members to the prototype object of the custom class."

Based on the user setting options in one of the panels I'll add additional code around the HTML generated markup code. This happens in the code of the tool when the user clicks export. Is this a preprocessing instruction?

根据此附加代码的外观,如果它只是常规的 ActionScript3 代码,您可以将其称为模板代码。如果您要添加的是现有 类 的附加方法,请将其称为 mixins。如果您只是添加额外的代码,您可以将其称为 mixin 并与 Adob​​e 的术语冲突,这可能是不可取的。

您的工具本身可以被视为一种预处理器 - 我希望预处理器使用代码中给出的提示(例如使用特定的预处理器指令,如#define,或 ActionScript3 代码本身)来转换代码。

关于你提问题的提法,我觉得问的有点反了。我可能会这样表述同样的问题(假设我理解正确):

In ActionScript3, what is the difference between the terms preprocessing, directives and mixins? The reason I am asking is because I'm making a developer tool that takes in ActionScript3 code and adds additional code around it. For the GUI of this tool, I have to refer to this code, and I am not sure if any of these three words qualify.