Пример #1
0
 public override object Visit(ExternalStatement that, object value)
 {
     VisitRoutine(that, value);
     return null;
 }
Пример #2
0
 public override object Visit(ExternalStatement that, object value)
 {
     that.Profile.Visit(this);
     // note: intentionally ignore the always empty block
     _writer.WriteLine();
     return null;
 }
        public override object Visit(ExternalStatement that, object value = null)
        {
            PrintPrologue(that);
            PrintRoutine(that);
            PrintEpilogue(that);

            that.Name.Visit(this);
            that.Profile.Visit(this);
            that.Block.Visit(this);

            return null;
        }
Пример #4
0
        public override object Visit(ExternalStatement that, object value)
        {
            _writer.Write("extern ");
            that.Profile.Type.Visit(this);
            _writer.Write(' ');
            _writer.Write(that.Name.Symbol);
            _writer.Write('(');

            Parameter[] parameters = that.Profile.Parameters;
            foreach (Parameter parameter in parameters)
            {
                if (parameter != parameters[0])
                    _writer.Write(", ");

                parameter.Visit(this);
            }
            _writer.WriteLine(");");
            _writer.WriteLine();

            return null;
        }
Пример #5
0
 public override object Visit(ExternalStatement that, object value = null)
 {
     that.Profile.Visit(this);
     return null;
 }
Пример #6
0
 public virtual object Visit(ExternalStatement that, object value)
 {
     throw new System.NotImplementedException();
 }