Before an ActionScript program can be executed by a Flash runtime, it must be converted
from human-readable ActionScript 3.0 code to a condensed, binary format
that Flash runtimes understand, known as ActionScript bytecode, or ABC. On its
own, however, ActionScript bytecode cannot be executed by Flash runtimes; instead,
it must be wrapped in a binary container file known as a .swf file. The .swf file stores
the bytecode and any embedded media assets required by the ActionScript program
in Flash file format, or SWF. The process of converting an ActionScript program to
bytecode is known as compiling the program. The process of generating a .swf file is
known as compiling the .swf file, or sometimes, exporting or publishing the .swf file.
To compile ActionScript 3.0 programs and .swf files, we use a software module
known as a compiler. A compiler that compiles ActionScript code is known as an
ActionScript compiler. A compiler that generates .swf files is known as a SWF compiler.
Any SWF compiler that claims full support for the Flash file format includes an
ActionScript compiler. Naturally, both Flex Builder 2 and the Flash authoring tool
include a SWF compiler (and, by extension, an ActionScript compiler). Flex Builder
2 and the Flash authoring tool share the same ActionScript compiler but have different
SWF compilers—known, respectively, as the Flex compiler and the Flash compiler.
Adobe also offers the Flex compiler as a standalone command-line application
called mxmlc. The mxmlc compiler is included in Adobe’s free developer’s toolkit,
the Flex 2 SDK, available at http://www.adobe.com/go/flex2_sdk.