public override void Assembly(Assembler asm)
 {
     AddNote(Note.STRINGIFIER, ResStr.NO_GO_STATEMENT);
 }
 public override void Assembly(Assembler asm)
 {
     asm.Begin(this);
     asm.End(this);
 }
 public override void Assembly(Assembler asm)
 {
     asm.Begin(this);
     asm.Add(Declarations[0]);
     asm.End(this);
 }
        public override void Assembly(Assembler asm)
        {
            asm.Begin(this);
            switch (Operator)
            {
            case AssignmentType.XorAssign:
                AddNote(Note.STRINGIFIER, ResStr.NO_BITWISE_XOR_OPERATOR);
                asm.End(this);
                return;

            case AssignmentType.OrAssign:
                AddNote(Note.STRINGIFIER, ResStr.NO_BITWISE_OR_OPERATOR);
                asm.End(this);
                return;
            }
            asm.Add(Variable);
            asm.AddSpace();
            asm.AddToken(":=");
            asm.AddSpace();
            switch (Operator)
            {
            case AssignmentType.AddAssign:
                asm.AddToken(":");
                asm.Add(Variable);
                asm.AddToken(" + ");
                asm.Add(Expression);
                break;

            case AssignmentType.AndAssign:
                asm.AddToken("BITAND(");
                asm.AddToken(":");
                asm.Add(Variable);
                asm.AddToken(", ");
                asm.Add(Expression);
                asm.AddToken(")");
                break;

            case AssignmentType.Assign:
                asm.Add(Expression);
                break;

            case AssignmentType.DivAssign:
                asm.AddToken(":");
                asm.Add(Variable);
                asm.AddToken(" / ");
                asm.Add(Expression);
                break;

            case AssignmentType.ModAssign:
                asm.AddToken("MOD(");
                asm.AddToken(":");
                asm.Add(Variable);
                asm.AddToken(", ");
                asm.Add(Expression);
                asm.AddToken(")");
                break;

            case AssignmentType.MulAssign:
                asm.AddToken(":");
                asm.Add(Variable);
                asm.AddToken(" * ");
                asm.Add(Expression);
                break;

            case AssignmentType.SubAssign:
                asm.AddToken(":");
                asm.Add(Variable);
                asm.AddToken(" - ");
                asm.Add(Expression);
                break;
            }
            asm.End(this);
        }
        public virtual void Assembly(Assembler asm)
        {
            Type t = GetType();

            AddNote(Note.STRINGIFIER, String.Format(ResStr.TYPE_NOT_SUPPORTED_BY_STRINGIFIER, t.Name));
        }