# OA AS syntax

String. Excluding the comment, these can be(or are) separated by spaces/tabs.

Left/Right strings

Tested

[] is optional . details

Link with '+' (//3 s+b or /*3h+s*/). Resolve later with '_'. Ignore with '!'. Dual mode is '^'.

a | className | class className{
className | extendName
| class className extends extendName{
a | var a=[1,2,3]; | var a=new Array(1,2,3);
b |  | buttonMode=value; | useHandCursor=value;
m | same plus mouseChildren=false;
c | comment | //comment
d | childName | addChild(childName);
childName | parentName

parentName.addChild(childName);

childName | @

stage.addChild(childName);
e is adding e in first ()
f p public function new(){super();
s static function main(){
f public function new(){super();
class Loader{public function new(){ function Loader(){
g var stage=flash.Lib.current.stage;
g className var a:className[<Dynamic>];
h alpha=value/100; _alpha=value;
i importString import importString;
j leftPart=flash.text.TextFormatAlign.TYPE; leftPart='type';
k if(a==0)
if(a!=0) if(!a)
l [name.]graphics.begin[Bitmap]Fill(n[,t,b]); or [name.]graphics.endFill(); name.begin[Bitmap]Fill(n[,t,b]); or name.endFill();
l name name.graphics.begin[Bitmap]Fill(n[,t,b]); or name.graphics.endFill(); begin[Bitmap]Fill(n[,t,b]); or endFill();
m

path | class

@:bitmap('path') class class extends flash.display.BitmapData { }
m var name=new class(0,0); var name=flash.display.BitmapData.loadBitmap('class');
n new ...
o [parent/stage.]addEventListener(flash.events.Event.ENTER_FRAME,functionName); [parent.]onEnterFrame=functionName;
...addEventListener(flash.events.MouseEvent.MOUSE_CLICK,functionName); ...onPress=functionName;
...addEventListener(flash.events.MouseEvent.MOUSE_OVER,functionName); ...onRollOver=functionName;
...addEventListener(flash.events.MouseEvent.MOUSE_OUT,functionName); ...onRollOut=functionName;
p public
p name var a=new name(); var a=new Object();
r [name.]... ...
r name name.graphics.drawRect(x,y,width,height); lineTo(width,y);lineTo(width,height);lineTo(x,height);
s _ is removing all _
w is replacing all Stage.w with stage.stageW
h is replacing all Stage.h with stage.stageH
[_wh] any case or at least one
t var label=new flash.text.TextField();[label.x=x;][label.y=y;][label.width=width;][label.height=height;] createTextField('label',nr,x,y,width,height);
v

name | class

var name=new class();
w

name | class

var name=new class();name.name='name';
v or V var name=new class(a,10,True);[[parent/stage.]addChild(name);] [parent.]attachMovie('class','name',getNextHighestDepth());this.a=a;this.b=10;this.c=True;
var name=new flash.display.Shape();... ...createEmptyMovieClip('name',getNextHighestDepth());
vorV name var name=new name();... ...
w or W ... ...
worW name ...name.name=name+extra+1; ...+extra+1,...
x static
z

p1 | p2

var a=new p1p2(); var a=new p2();
Other recognized notations:

}

At solver. 'V' or 'W' decision is based on ', '.