public SourceContext(SourceContext sc)
        {
            if (sc == null)
            {
                throw new ArgumentNullException(nameof(sc));
            }

            if (sc._begin_position != null)
            {
                _begin_position = new file_position(sc._begin_position.line_num, sc._begin_position.column_num);
            }
            if (sc._end_position != null)
            {
                _end_position = new file_position(sc._end_position.line_num, sc.end_position.column_num);
            }
            _begin_symbol_position = sc._begin_symbol_position;
            _end_symbol_position   = sc._end_symbol_position;
            _file_name             = sc._file_name;
        }
 public bool Between(SourceContext sc1, SourceContext sc2)
 {
     return
         ((begin_position.line_num > sc1.begin_position.line_num || (begin_position.line_num == sc1.begin_position.line_num && begin_position.column_num > sc1.begin_position.column_num)) &&
          (end_position.line_num < sc2.begin_position.line_num || (end_position.line_num == sc2.begin_position.line_num && end_position.column_num < sc2.begin_position.column_num)));
 }
 public bool Eq(SourceContext sc)
 {
     return(begin_position.line_num == sc.begin_position.line_num && begin_position.column_num == sc.begin_position.column_num &&
            end_position.line_num == sc.end_position.line_num && end_position.column_num == sc.end_position.column_num);
 }
 public SourceContext Merge(SourceContext right)
 {
     return(new SourceContext(this, right));
 }
Exemplo n.º 5
0
        public static procedure_definition BuildShortProcDefinition(formal_parameters fp, procedure_attributes_list att, method_name name, statement st, SourceContext headsc)
        {
            var ff = new procedure_header(fp, att, name, null, headsc);

            return(BuildShortProcFuncDefinition(ff, st));
        }
Exemplo n.º 6
0
        public static procedure_definition BuildShortFuncDefinition(formal_parameters fp, procedure_attributes_list att, method_name name, type_definition result, expression ex, SourceContext headsc)
        {
            var ff = new function_header(fp, att, name, null, result, headsc);
            procedure_definition pd = BuildShortProcFuncDefinition(ff, new assign("Result", ex, ex.source_context));

            return(pd);
        }