Exemplo n.º 1
0
 internal override void Parse(ObjWastTranspiler transpiler)
 {
     if (char.IsDigit(transpiler.PeekSignificant()))
     {
         long number = transpiler.ParseLong();
         arguments.Add(number);
     }
     else if (transpiler.PeekSignificant() == '$')
     {
         string identifier = transpiler.ParseIdentifier();
         arguments.Add(new ObjWastIdentifier(identifier));
     }
 }
Exemplo n.º 2
0
        internal override ObjWastTranspilerContext GetContext(string statement, ObjWastTranspiler transpiler)
        {
            string instructionName = statement;

            if (transpiler.PeekSignificant() == '.')
            {
                instructionName += transpiler.Read();
                instructionName += transpiler.ParseName();
            }

            return(Create(() => new ObjWastInstructionContext(this, instructionName)));
        }
Exemplo n.º 3
0
        internal override void Parse(ObjWastTranspiler transpiler)
        {
            string instructionName = transpiler.ParseName();

            if (transpiler.PeekSignificant() == '.')
            {
                instructionName += transpiler.Read();
                instructionName += transpiler.ParseName();
            }

            var context = Create(() => new ObjWastInstructionContext(this, instructionName));

            context.Parse(transpiler);
        }