ActionScript is the language used in Adobe Flash projects.
- AS3 Language spec - http://livedocs.adobe.com/specs/actionscript/3/wwhelp/wwhimpl/js/html/wwhelp.htm
- Language features
- Anonymous functions - http://www.darronschall.com/weblog/2004/08/anonymous-inline-and-named-functions-in-actionscript.cfm
- Writing anonymous callback functions - http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000139.html
- Method closures from the ground up - http://nwebb.co.uk/blog/?p=545
- Arrays in ActionScript - http://www.actionscript.org/resources/articles/89/2/Arrays-in-ActionScript/Page2.html
- Anonymous functions - http://www.darronschall.com/weblog/2004/08/anonymous-inline-and-named-functions-in-actionscript.cfm
Interesting ActionScript functions:
- getTimer documentation - millisecond timer - http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6#getTimer%28%29
How to compile ActionScript:
- Getting started with AS3 without learning Flex - http://www.senocular.com/flash/tutorials/as3withmxmlc/
- Creating a SWF without the IDE or Flex Builder - http://sites.google.com/site/uncleninjablog/blog/creatingaswfwithouttheflashideorflexbuilder
Actionscript Byte Code:
- Actionscript Byte Code (abc) format - http://learn.adobe.com/wiki/display/AVM2/4.+The+ActionScript+Byte+Code+(abc)+format
* - FLASM - Assembler for up to Flash 8 - Flash 9 has a new VM which would require rewrite of FLASM. Discussion of how the old virtual machine worked: http://www.nowrap.de/flasm.html
- Papers
- ActionScript Bytecode Verification With Co-Logic Programming - http://www.utdallas.edu/~hamlen/plas09-devries.pdf
- Red Tamarin - http://code.google.com/p/redtamarin/wiki/ABC
- To support the use of the AS3 language for cross-platform command-line executable, as single exe either for the desktop or the server, as scripts for automation, as tools for the Flash Platform community.
SWF decompilation tools (from http://dougmccune.com/flex/FOTB_Decompiling_Doug_McCune.pdf)
- Sothink SWF Decompiler
- $80, Mac or PC, works great
- Nemo 440
- free AIR app, generates ABC bytecode
- swfdump
- free, included in Flex SDK, dumps ABC bytecode
- abcdump.as
- free, part of the Tamarin project
- ActionScript Viewer (ASV)
- $80 only AS3 support in “prerelease” version, PC only
- FC64 - A low level Commodore 64 emulator for Flash Player 9, written in Actionscript 3.
- FZip - An Actionscript 3 class library to load standard ZIP archives and extract/decompress contained files.
- AIR Remote Updater - An Actionscript 3 class to automate remote software updates for Adobe AIR applications.
https://github.com/claus/as3abc
- as3abc is a low level Actionscript 3 library to parse, create, modify and publish ABC (Actionscript Block Code) files
- as3abc is a partial port of the excellent Apparat framework
- No work since April 2010, seems very preliminary
Apparat - "A framework to optimize ABC, SWC, and SWF files". http://code.google.com/p/apparat/
-
- Written in Scala
- active work in May 2011
Actionscript 3 from the ground up - http://www.adobe.com/devnet/actionscript/articles/as3_tour.html
AVM2 documentation - http://hg.mozilla.org/tamarin-redux/raw-file/tip/doc/bytecode/html/index.html
ABCASM
- ABCASM tests - https://developer.mozilla.org/En/Tamarin/Tamarin_Acceptance_Testing/Abc_Assembler_Tests
- https://developer.mozilla.org/En/Tamarin/Tamarin_Acceptance_Testing/Running_Tamarin_acceptance_tests - The main runtests.py causes tests of abcasm to run
- Takashi's Workspace - http://propella.blogspot.com/2010/01/recent-tamarin-and-abc-tools.html - How to use abcdump & abcasm
- Doesn't round trip with abcdump output - https://bugzilla.mozilla.org/show_bug.cgi?id=481504
Main tamarin doc page - https://developer.mozilla.org/en/Tamarin
What is license to create an interpreter for ActionScript Byte Code - http://stackoverflow.com/questions/416050/avm2-and-abc-adobes-actionscript-bytecode-format-spec-licensing-can-i-use-it
Disassembling Actionscript Byte Code - http://www.actionscript.org/forums/showthread.php3?t=195115
http://llvm.org/devmtg/2009-10/Petersen_OptimizingActionScriptBytecode.pdf