Lines Matching refs:context
78 static void HandleControl(CONTEXT &context, char ch, char next, int n) { in HandleControl() argument
79 MutableModes &modes{context.mutableModes()}; in HandleControl()
133 context.HandleRelativePosition(n); in HandleControl()
149 context.HandleAbsolutePosition(n - 1); // convert 1-based to 0-based in HandleControl()
153 context.HandleRelativePosition(next == 'L' ? -n : n); in HandleControl()
161 context.SignalError(IostatErrorInFormat, in HandleControl()
164 context.SignalError( in HandleControl()
174 int FormatControl<CONTEXT>::CueUpNextDataEdit(Context &context, bool stop) { in CueUpNextDataEdit() argument
189 CharType ch{GetNextChar(context)}; in CueUpNextDataEdit()
196 ch = GetNextChar(context); in CueUpNextDataEdit()
199 repeat = GetIntField(context, ch); in CueUpNextDataEdit()
200 ch = GetNextChar(context); in CueUpNextDataEdit()
203 ch = GetNextChar(context); in CueUpNextDataEdit()
205 ReportBadFormat(context, in CueUpNextDataEdit()
211 ReportBadFormat(context, in CueUpNextDataEdit()
221 ReportBadFormat(context, in CueUpNextDataEdit()
227 RUNTIME_CHECK(context, format_[stack_[height_].start] == '('); in CueUpNextDataEdit()
247 ReportBadFormat(context, "FORMAT lacks initial '('", maybeReversionPoint); in CueUpNextDataEdit()
254 context.AdvanceRecord(); // implied / before rightmost ) in CueUpNextDataEdit()
261 if (height_ > 1 && GetNextChar(context) != ')') { in CueUpNextDataEdit()
262 ReportBadFormat(context, in CueUpNextDataEdit()
269 ReportBadFormat(context, in CueUpNextDataEdit()
288 ReportBadFormat(context, in CueUpNextDataEdit()
303 context.Emit(format_ + start, chars); in CueUpNextDataEdit()
307 ReportBadFormat(context, "Invalid width on Hollerith in FORMAT", in CueUpNextDataEdit()
311 context.Emit(format_ + offset_, static_cast<std::size_t>(*repeat)); in CueUpNextDataEdit()
341 repeat = GetIntField(context); in CueUpNextDataEdit()
343 HandleControl(context, static_cast<char>(ch), static_cast<char>(next), in CueUpNextDataEdit()
347 context.AdvanceRecord(repeat && *repeat > 0 ? *repeat : 1); in CueUpNextDataEdit()
349 context.mutableModes().nonAdvancing = true; in CueUpNextDataEdit()
353 context.Emit(format_ + offset_ - 1, 1); in CueUpNextDataEdit()
356 context, "Invalid character in FORMAT", maybeReversionPoint); in CueUpNextDataEdit()
365 Context &context, int maxRepeat) { in GetNextDataEdit() argument
366 int repeat{CueUpNextDataEdit(context)}; in GetNextDataEdit()
369 edit.descriptor = static_cast<char>(Capitalize(GetNextChar(context))); in GetNextDataEdit()
401 ReportBadFormat(context, "Unclosed DT'iotype' in FORMAT", start); in GetNextDataEdit()
403 ReportBadFormat(context, "Excessive DT'iotype' in FORMAT", start); in GetNextDataEdit()
410 int n{GetIntField(context)}; in GetNextDataEdit()
416 auto ch{static_cast<char>(GetNextChar(context))}; in GetNextDataEdit()
423 ReportBadFormat(context, "Unclosed DT(v_list) in FORMAT", start); in GetNextDataEdit()
425 ReportBadFormat(context, "Excessive DT(v_list) in FORMAT", start); in GetNextDataEdit()
432 edit.width = GetIntField(context); in GetNextDataEdit()
435 edit.width = GetIntField(context); in GetNextDataEdit()
439 ReportBadFormat(context, "Input field width is zero", start); in GetNextDataEdit()
444 edit.digits = GetIntField(context); in GetNextDataEdit()
448 edit.expoDigits = GetIntField(context); in GetNextDataEdit()
451 edit.modes = context.mutableModes(); in GetNextDataEdit()
463 void FormatControl<CONTEXT>::Finish(Context &context) { in Finish() argument
464 CueUpNextDataEdit(context, true /* stop at colon or end of FORMAT */); in Finish()