Lines Matching refs:construct
27 TYPE_PARSER(construct<IoUnit>(variable / lookAhead(space / ",);\n"_ch)) ||
28 construct<IoUnit>(fileUnitNumber) || construct<IoUnit>(star))
31 TYPE_PARSER(construct<FileUnitNumber>(scalarIntExpr / !"="_tok))
35 construct<OpenStmt>(
60 constexpr auto statusExpr{construct<StatusExpr>(scalarDefaultCharExpr)};
61 constexpr auto errLabel{construct<ErrLabel>(label)};
63 TYPE_PARSER(first(construct<ConnectSpec>(maybe("UNIT ="_tok) >> fileUnitNumber),
64 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
67 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
70 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
73 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
76 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
79 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
82 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
85 construct<ConnectSpec>("ERR =" >> errLabel),
86 construct<ConnectSpec>("FILE =" >> fileNameExpr),
89 construct<ConnectSpec>("NAME =" >> fileNameExpr)),
90 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
93 construct<ConnectSpec>("IOMSG =" >> msgVariable),
94 construct<ConnectSpec>("IOSTAT =" >> statVariable),
95 construct<ConnectSpec>(construct<ConnectSpec::Newunit>(
97 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
100 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
103 construct<ConnectSpec>(
104 construct<ConnectSpec::Recl>("RECL =" >> scalarIntExpr)),
105 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
108 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
111 construct<ConnectSpec>("STATUS =" >> statusExpr),
114 construct<ConnectSpec>(
115 construct<ConnectSpec::CharExpr>("CARRIAGECONTROL =" >>
120 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
125 construct<ConnectSpec>(construct<ConnectSpec::CharExpr>(
134 construct<CloseStmt::CloseSpec>(maybe("UNIT ="_tok) >> fileUnitNumber),
135 construct<CloseStmt::CloseSpec>("IOSTAT =" >> statVariable),
136 construct<CloseStmt::CloseSpec>("IOMSG =" >> msgVariable),
137 construct<CloseStmt::CloseSpec>("ERR =" >> errLabel),
138 construct<CloseStmt::CloseSpec>("STATUS =" >> statusExpr))};
142 construct<CloseStmt>("CLOSE" >> parenthesized(nonemptyList(closeSpec))))
158 construct<ReadStmt>("READ (" >>
159 construct<std::optional<IoUnit>>(maybe("UNIT ="_tok) >> ioUnit),
160 "," >> construct<std::optional<Format>>(format),
162 construct<ReadStmt>(
163 "READ (" >> construct<std::optional<IoUnit>>(ioUnit),
164 construct<std::optional<Format>>(),
167 construct<ReadStmt>("READ" >> construct<std::optional<IoUnit>>(),
168 construct<std::optional<Format>>(),
170 construct<ReadStmt>("READ" >> construct<std::optional<IoUnit>>(),
171 construct<std::optional<Format>>(format),
172 construct<std::list<IoControlSpec>>(), many("," >> inputItem)))
175 constexpr auto idVariable{construct<IdVariable>(scalarIntVariable)};
189 constexpr auto endLabel{construct<EndLabel>(label)};
190 constexpr auto eorLabel{construct<EorLabel>(label)};
191 TYPE_PARSER(first(construct<IoControlSpec>("UNIT =" >> ioUnit),
192 construct<IoControlSpec>("FMT =" >> format),
193 construct<IoControlSpec>("NML =" >> name),
194 construct<IoControlSpec>(
195 "ADVANCE =" >> construct<IoControlSpec::CharExpr>(
198 construct<IoControlSpec>(construct<IoControlSpec::Asynchronous>(
200 construct<IoControlSpec>("BLANK =" >>
201 construct<IoControlSpec::CharExpr>(
203 construct<IoControlSpec>(
204 "DECIMAL =" >> construct<IoControlSpec::CharExpr>(
207 construct<IoControlSpec>("DELIM =" >>
208 construct<IoControlSpec::CharExpr>(
210 construct<IoControlSpec>("END =" >> endLabel),
211 construct<IoControlSpec>("EOR =" >> eorLabel),
212 construct<IoControlSpec>("ERR =" >> errLabel),
213 construct<IoControlSpec>("ID =" >> idVariable),
214 construct<IoControlSpec>("IOMSG = " >> msgVariable),
215 construct<IoControlSpec>("IOSTAT = " >> statVariable),
216 construct<IoControlSpec>("PAD =" >>
217 construct<IoControlSpec::CharExpr>(
219 construct<IoControlSpec>(
220 "POS =" >> construct<IoControlSpec::Pos>(scalarIntExpr)),
221 construct<IoControlSpec>(
222 "REC =" >> construct<IoControlSpec::Rec>(scalarIntExpr)),
223 construct<IoControlSpec>("ROUND =" >>
224 construct<IoControlSpec::CharExpr>(
226 construct<IoControlSpec>("SIGN =" >>
227 construct<IoControlSpec::CharExpr>(
229 construct<IoControlSpec>(
230 "SIZE =" >> construct<IoControlSpec::Size>(scalarIntVariable))))
240 construct<WriteStmt>("WRITE (" >>
241 construct<std::optional<IoUnit>>(maybe("UNIT ="_tok) >> ioUnit),
242 "," >> construct<std::optional<Format>>(format),
244 construct<WriteStmt>(
245 "WRITE (" >> construct<std::optional<IoUnit>>(ioUnit),
246 construct<std::optional<Format>>(),
249 construct<WriteStmt>("WRITE" >> construct<std::optional<IoUnit>>(),
250 construct<std::optional<Format>>(),
255 construct<PrintStmt>(
260 TYPE_PARSER(construct<Format>(label / !"_."_ch) ||
261 construct<Format>(expr / !"="_tok) || construct<Format>(star))
264 TYPE_PARSER(construct<InputItem>(variable) ||
265 construct<InputItem>(indirect(inputImpliedDo)))
268 TYPE_PARSER(construct<OutputItem>(expr) ||
269 construct<OutputItem>(indirect(outputImpliedDo)))
279 construct<InputImpliedDo>(nonemptyList(inputItem / lookAhead(","_tok)),
282 parenthesized(construct<OutputImpliedDo>(
289 parenthesized(construct<WaitStmt>(nonemptyList(Parser<WaitSpec>{}))))
295 constexpr auto idExpr{construct<IdExpr>(scalarIntExpr)};
297 TYPE_PARSER(first(construct<WaitSpec>(maybe("UNIT ="_tok) >> fileUnitNumber),
298 construct<WaitSpec>("END =" >> endLabel),
299 construct<WaitSpec>("EOR =" >> eorLabel),
300 construct<WaitSpec>("ERR =" >> errLabel),
301 construct<WaitSpec>("ID =" >> idExpr),
302 construct<WaitSpec>("IOMSG =" >> msgVariable),
303 construct<WaitSpec>("IOSTAT =" >> statVariable)))
312 construct<PositionOrFlushSpec>(fileUnitNumber))};
319 construct<BackspaceStmt>("BACKSPACE" >> positionOrFlushSpecList))
324 construct<EndfileStmt>("END FILE" >> positionOrFlushSpecList))
328 construct<RewindStmt>("REWIND" >> positionOrFlushSpecList))
337 construct<PositionOrFlushSpec>(maybe("UNIT ="_tok) >> fileUnitNumber) ||
338 construct<PositionOrFlushSpec>("IOMSG =" >> msgVariable) ||
339 construct<PositionOrFlushSpec>("IOSTAT =" >> statVariable) ||
340 construct<PositionOrFlushSpec>("ERR =" >> errLabel))
344 construct<FlushStmt>("FLUSH" >> positionOrFlushSpecList))
379 TYPE_PARSER(first(construct<InquireSpec>(maybe("UNIT ="_tok) >> fileUnitNumber),
380 construct<InquireSpec>("FILE =" >> fileNameExpr),
381 construct<InquireSpec>(
382 "ACCESS =" >> construct<InquireSpec::CharVar>(
385 construct<InquireSpec>(
386 "ACTION =" >> construct<InquireSpec::CharVar>(
389 construct<InquireSpec>(
390 "ASYNCHRONOUS =" >> construct<InquireSpec::CharVar>(
393 construct<InquireSpec>("BLANK =" >>
394 construct<InquireSpec::CharVar>(pure(InquireSpec::CharVar::Kind::Blank),
396 construct<InquireSpec>(
397 "DECIMAL =" >> construct<InquireSpec::CharVar>(
400 construct<InquireSpec>("DELIM =" >>
401 construct<InquireSpec::CharVar>(pure(InquireSpec::CharVar::Kind::Delim),
403 construct<InquireSpec>(
404 "DIRECT =" >> construct<InquireSpec::CharVar>(
407 construct<InquireSpec>(
408 "ENCODING =" >> construct<InquireSpec::CharVar>(
411 construct<InquireSpec>("ERR =" >> errLabel),
412 construct<InquireSpec>("EXIST =" >>
413 construct<InquireSpec::LogVar>(
415 construct<InquireSpec>("FORM =" >>
416 construct<InquireSpec::CharVar>(
418 construct<InquireSpec>(
419 "FORMATTED =" >> construct<InquireSpec::CharVar>(
422 construct<InquireSpec>("ID =" >> idExpr),
423 construct<InquireSpec>("IOMSG =" >>
424 construct<InquireSpec::CharVar>(pure(InquireSpec::CharVar::Kind::Iomsg),
426 construct<InquireSpec>("IOSTAT =" >>
427 construct<InquireSpec::IntVar>(pure(InquireSpec::IntVar::Kind::Iostat),
429 construct<InquireSpec>("NAME =" >>
430 construct<InquireSpec::CharVar>(
432 construct<InquireSpec>("NAMED =" >>
433 construct<InquireSpec::LogVar>(
435 construct<InquireSpec>("NEXTREC =" >>
436 construct<InquireSpec::IntVar>(pure(InquireSpec::IntVar::Kind::Nextrec),
438 construct<InquireSpec>("NUMBER =" >>
439 construct<InquireSpec::IntVar>(pure(InquireSpec::IntVar::Kind::Number),
441 construct<InquireSpec>("OPENED =" >>
442 construct<InquireSpec::LogVar>(
444 construct<InquireSpec>("PAD =" >>
445 construct<InquireSpec::CharVar>(
447 construct<InquireSpec>("PENDING =" >>
448 construct<InquireSpec::LogVar>(
450 construct<InquireSpec>("POS =" >>
451 construct<InquireSpec::IntVar>(
453 construct<InquireSpec>(
454 "POSITION =" >> construct<InquireSpec::CharVar>(
457 construct<InquireSpec>("READ =" >>
458 construct<InquireSpec::CharVar>(
460 construct<InquireSpec>(
461 "READWRITE =" >> construct<InquireSpec::CharVar>(
464 construct<InquireSpec>("RECL =" >>
465 construct<InquireSpec::IntVar>(
467 construct<InquireSpec>("ROUND =" >>
468 construct<InquireSpec::CharVar>(pure(InquireSpec::CharVar::Kind::Round),
470 construct<InquireSpec>(
471 "SEQUENTIAL =" >> construct<InquireSpec::CharVar>(
474 construct<InquireSpec>("SIGN =" >>
475 construct<InquireSpec::CharVar>(
477 construct<InquireSpec>("SIZE =" >>
478 construct<InquireSpec::IntVar>(
480 construct<InquireSpec>(
481 "STREAM =" >> construct<InquireSpec::CharVar>(
484 construct<InquireSpec>(
485 "STATUS =" >> construct<InquireSpec::CharVar>(
488 construct<InquireSpec>(
489 "UNFORMATTED =" >> construct<InquireSpec::CharVar>(
492 construct<InquireSpec>("WRITE =" >>
493 construct<InquireSpec::CharVar>(pure(InquireSpec::CharVar::Kind::Write),
497 construct<InquireSpec>("CARRIAGECONTROL =" >>
498 construct<InquireSpec::CharVar>(
503 construct<InquireSpec>(
504 "CONVERT =" >> construct<InquireSpec::CharVar>(
509 construct<InquireSpec>(
510 "DISPOSE =" >> construct<InquireSpec::CharVar>(
519 (construct<InquireStmt>(
521 construct<InquireStmt>(construct<InquireStmt::Iolength>(
529 construct<FormatStmt>("FORMAT" >> Parser<format::FormatSpecification>{}))
546 TYPE_PARSER(construct<format::FormatItem>(
548 construct<format::FormatItem>(
550 construct<format::FormatItem>(Parser<format::ControlEditDesc>{}) ||
551 construct<format::FormatItem>(charStringEditDesc) ||
552 construct<format::FormatItem>(maybe(repeat), parenthesized(formatItems)))
558 TYPE_PARSER(parenthesized(construct<format::FormatSpecification>(
561 construct<format::FormatSpecification>(defaulted(formatItems))))
567 constexpr auto mandatoryWidth{construct<std::optional<int>>(width)};
569 constexpr auto noInt{construct<std::optional<int>>()};
570 constexpr auto mandatoryDigits{construct<std::optional<int>>("." >> width)};
583 TYPE_PARSER(construct<format::IntrinsicTypeDataEditDesc>(
589 construct<format::IntrinsicTypeDataEditDesc>(
593 construct<format::IntrinsicTypeDataEditDesc>(
599 construct<format::IntrinsicTypeDataEditDesc>(
602 construct<format::IntrinsicTypeDataEditDesc>(
606 construct<format::IntrinsicTypeDataEditDesc>(
612 construct<format::IntrinsicTypeDataEditDesc>(
636 TYPE_PARSER(construct<format::DerivedTypeDataEditDesc>(
653 TYPE_PARSER(construct<format::ControlEditDesc>(
658 construct<format::ControlEditDesc>(count,
661 construct<format::ControlEditDesc>(
664 construct<format::ControlEditDesc>(
666 construct<format::ControlEditDesc>(
668 "S " >> ("S " >> construct<format::ControlEditDesc>(
670 "P " >> construct<format::ControlEditDesc>(
672 construct<format::ControlEditDesc>(
674 "B " >> ("N " >> construct<format::ControlEditDesc>(
676 "Z " >> construct<format::ControlEditDesc>(
678 "R " >> ("U " >> construct<format::ControlEditDesc>(
680 "D " >> construct<format::ControlEditDesc>(
682 "Z " >> construct<format::ControlEditDesc>(
684 "N " >> construct<format::ControlEditDesc>(
686 "C " >> construct<format::ControlEditDesc>(
688 "P " >> construct<format::ControlEditDesc>(
690 "D " >> ("C " >> construct<format::ControlEditDesc>(
692 "P " >> construct<format::ControlEditDesc>(
696 "$" >> construct<format::ControlEditDesc>(
698 "\\" >> construct<format::ControlEditDesc>(