예제 #1
0
 public StringToCodepoints(TaskMaster task_master, SourceReference source_ref,
                           Context context, Frame self, Frame container) : base(task_master)
 {
     this.source_reference = source_ref;
     this.context          = context;
     this.container        = self;
 }
예제 #2
0
 public Frame(Stringish id, SourceReference source_ref, Context context, Frame container)
 {
     SourceReference = source_ref;
     Context         = Context.Prepend(this, context);
     Container       = container ?? this;
     Id = id;
 }
예제 #3
0
 public ParseInt(TaskMaster master, SourceReference source_ref,
                 Context context, Frame self, Frame container)
 {
     this.master           = master;
     this.source_reference = source_ref;
     this.context          = context;
 }
예제 #4
0
 public Escape(TaskMaster task_master, SourceReference source_ref,
               Context context, Frame self, Frame container) : base(task_master)
 {
     this.source_ref = source_ref;
     this.context    = context;
     this.self       = self;
 }
예제 #5
0
 public CharacterCategory(TaskMaster task_master, SourceReference source_ref,
                          Context context, Frame self, Frame container) : base(task_master)
 {
     this.source_reference = source_ref;
     this.context          = context;
     this.container        = self;
 }
예제 #6
0
 public Frame(long id, SourceReference source_ref, Context context, Frame container)
 {
     this.SourceReference = source_ref;
     this.Context         = context;
     this.Container       = container;
     this.Id = TaskMaster.OrdinalName(id);
 }
예제 #7
0
 public Instantiation(TaskMaster task_master, SourceReference src_ref, Context context, Frame container, params string[] names) : base(task_master)
 {
     this.src_ref   = src_ref;
     this.context   = context;
     this.container = container;
     this.names     = names;
 }
예제 #8
0
        public override void ReportOtherError(SourceReference reference, string message)
        {
            Dirty = true;
            Console.Error.WriteLine(message);
            var seen = new Dictionary <SourceReference, bool>();

            reference.Write(Console.Error, "  ", seen);
        }
예제 #9
0
        public CharacterCategory(TaskMaster task_master, SourceReference source_ref,
				Context context, Frame self, Frame container)
            : base(task_master)
        {
            this.source_reference = source_ref;
            this.context = context;
            this.container = self;
        }
예제 #10
0
        public DbQuery(TaskMaster task_master, SourceReference source_ref,
				Context context, Frame self, Frame container)
            : base(task_master)
        {
            this.source_ref = source_ref;
            this.context = context;
            this.self = self;
        }
예제 #11
0
 public Frame(TaskMaster task_master, long id, SourceReference source_ref, Context context, Frame container)
 {
     this.task_master = task_master;
     SourceReference  = source_ref;
     Context          = Context.Prepend(this, context);
     Container        = container ?? this;
     Id = TaskMaster.OrdinalName(id);
 }
예제 #12
0
 public SourceReference(string message, string filename, int start_line, int start_column, int end_line, int end_column, SourceReference caller)
 {
     Message     = message;
     FileName    = filename;
     StartLine   = start_line;
     StartColumn = start_column;
     EndLine     = end_line;
     EndColumn   = end_column;
     Caller      = caller;
 }
예제 #13
0
        public Lookup(TaskMaster master, SourceReference source_ref, Context context, string[] names)
        {
            this.master          = master;
            this.SourceReference = source_ref;
            this.names           = names;
            /* Create  grid where the first entry is the frame under consideration. */
            var values = new object[context.Length, names.Length + 1];

            context.Fill((index, frame) => values[index, 0] = frame);
        }
예제 #14
0
        public BasicSourceReference(string message, string filename, int start_line, int start_column, int end_line,
			int end_column, SourceReference caller)
        {
            Message = message;
            FileName = filename;
            StartLine = start_line;
            StartColumn = start_column;
            EndLine = end_line;
            EndColumn = end_column;
            Caller = caller;
        }
예제 #15
0
        public Lookup(TaskMaster task_master, SourceReference source_ref, string[] names, Context context) : base(task_master)
        {
            SourceReference = source_ref;
            this.names      = names;

            /* Create  grid where the first entry is the frame under consideration. */
            frames = new Frame[context.Length];
            var index = 0;

            foreach (var frame in context.Fill())
            {
                frames[index++] = frame;
            }
        }
예제 #16
0
        public static Frame Through(TaskMaster task_master, long id, SourceReference source_ref, long start, long end,
                                    Context context, Frame container)
        {
            var result = new Frame(task_master, id, source_ref, context, container);

            if (end < start)
            {
                return(result);
            }
            for (long it = 0; it <= (end - start); it++)
            {
                result[TaskMaster.OrdinalNameStr(it + 1)] = start + it;
            }
            return(result);
        }
예제 #17
0
 public MutableFrame(TaskMaster task_master, SourceReference source_ref, Context context, Frame container) : base(task_master, source_ref, context, container)
 {
 }
예제 #18
0
 public Template(SourceReference source_ref, Context context, Frame container)
 {
     SourceReference = source_ref;
     Context = context;
     Container = container;
 }
예제 #19
0
        public static Frame Through(TaskMaster task_master, long id, SourceReference source_ref, long start, long end,
			Context context, Frame container)
        {
            var result = new Frame(task_master, id, source_ref, context, container);
            if (end < start)
                return result;
            for (long it = 0; it <= (end - start); it++) {
                result[TaskMaster.OrdinalNameStr(it + 1)] = start + it;
            }
            return result;
        }
예제 #20
0
 public StringFromBytes(TaskMaster task_master, SourceReference source_ref,
                        Context context, Frame self, Frame container) : base(task_master)
 {
     this.source_reference = source_ref;
     this.context          = context;
 }
예제 #21
0
 public ParseDouble(TaskMaster master, SourceReference source_ref,
                    Context context, Frame self, Frame container) : base(master)
 {
     this.source_reference = source_ref;
     this.context          = context;
 }
예제 #22
0
 public bool VerifySymbol(SourceReference source_reference, string str)
 {
     return(VerifySymbol(str, msg => ReportOtherError(source_reference, msg)));
 }
예제 #23
0
 public FixedFrame(string id, SourceReference source_ref) : base(id, source_ref, null, null)
 {
 }
예제 #24
0
 private ReflectedFrame(TaskMaster task_master, SourceReference source_ref,
                        Object backing, IDictionary <string, object> attributes) : base(task_master, source_ref, null, null)
 {
     Backing         = backing;
     this.attributes = attributes;
 }
예제 #25
0
 /**
  * Report an error during execution of the program.
  */
 public abstract void ReportOtherError(SourceReference reference, string message);
예제 #26
0
 public Frame(TaskMaster task_master, long id, SourceReference source_ref, Context context, Frame container)
 {
     this.task_master = task_master;
     SourceReference = source_ref;
     Context = Context.Prepend(this, context);
     Container = container ?? this;
     Id = TaskMaster.OrdinalName(id);
 }
예제 #27
0
        public ParseInt(TaskMaster task_master, SourceReference source_ref,
				Context context, Frame self, Frame container)
            : base(task_master)
        {
            this.source_reference = source_ref;
            this.context = context;
        }
예제 #28
0
        public StringToCodepoints(TaskMaster task_master, SourceReference source_ref,
				Context context, Frame self, Frame container)
            : base(task_master)
        {
            this.source_reference = source_ref;
            this.context = context;
            this.container = self;
        }
예제 #29
0
 public FailureComputation(TaskMaster task_master, SourceReference reference, string message) : base(task_master)
 {
     this.source_reference = reference;
     this.message          = message;
 }
예제 #30
0
        public Escape(TaskMaster master, SourceReference source_ref,
				Context context, Frame self, Frame container)
        {
            this.master = master;
                this.source_ref = source_ref;
                this.context = context;
                this.self = self;
        }
예제 #31
0
 public Frame(string id, SourceReference source_ref, Context context, Frame container) : this(new SimpleStringish(id), source_ref, context, container)
 {
 }
예제 #32
0
 public Frame(TaskMaster task_master, SourceReference source_ref, Context context, Frame container) : this(TaskMaster.OrdinalName(task_master.NextId()), source_ref, context, container)
 {
 }
예제 #33
0
 public JunctionReference(string message, string filename, int start_line, int start_column, int end_line,
                          int end_column, SourceReference caller, SourceReference junction)
     : base(message, filename, start_line, start_column, end_line, end_column, caller)
 {
     Junction = junction;
 }
예제 #34
0
        public ParseDouble(TaskMaster master, SourceReference source_ref,
				Context context, Frame self, Frame container)
        {
            this.master = master;
            this.source_reference = source_ref;
            this.context = context;
        }
예제 #35
0
 public bool VerifySymbol(SourceReference source_reference, Stringish strish)
 {
     return(VerifySymbol(source_reference, strish.ToString()));
 }
예제 #36
0
 public override void ReportOtherError(SourceReference reference, string message)
 {
 }
예제 #37
0
 public override void ReportOtherError(SourceReference reference, string message)
 {
 }
예제 #38
0
 public override void ReportOtherError(SourceReference reference, string message)
 {
     Dirty = true;
     Console.Error.WriteLine(message);
     var seen = new Dictionary<SourceReference, bool>();
     reference.Write(Console.Error, "  ", seen);
 }
예제 #39
0
        public JunctionReference(string message, string filename, int start_line, int start_column, int end_line,
			int end_column, SourceReference caller, SourceReference junction)
            : base(message, filename, start_line, start_column, end_line, end_column, caller)
        {
            Junction = junction;
        }
예제 #40
0
 public Template(SourceReference source_ref, Context context)
 {
     this.SourceReference = source_ref;
     this.Context         = context;
 }
예제 #41
0
 public Template(SourceReference source_ref, Context context, Frame container)
 {
     SourceReference = source_ref;
     Context         = context;
     Container       = container;
 }
예제 #42
0
 public Computation ComputeValue(
     TaskMaster task_master, SourceReference reference, Context context, Frame self, Frame container)
 {
     return(this);
 }