Lines Matching refs:construct
48 TYPE_PARSER(space >> sourced(rawName >> construct<Name>()))
99 TYPE_PARSER(construct<DefinedOperator>(intrinsicOperator) ||
100 construct<DefinedOperator>(definedOpName))
107 construct<ImplicitPart>(many(Parser<ImplicitPartStmt>{})))
112 construct<ImplicitPartStmt>(statement(indirect(Parser<ImplicitStmt>{}))), in TYPE_PARSER()
113 construct<ImplicitPartStmt>(statement(indirect(parameterStmt))),
114 construct<ImplicitPartStmt>(statement(indirect(oldParameterStmt))),
115 construct<ImplicitPartStmt>(statement(indirect(formatStmt))),
116 construct<ImplicitPartStmt>(statement(indirect(entryStmt))),
117 construct<ImplicitPartStmt>(indirect(compilerDirective))))
123 (construct<InternalSubprogram>(indirect(functionSubprogram)) ||
124 construct<InternalSubprogram>(indirect(subroutineSubprogram))) /
129 construct<InternalSubprogramPart>(statement(containsStmt),
137 first(construct<LiteralConstant>(Parser<HollerithLiteralConstant>{}),
138 construct<LiteralConstant>(realLiteralConstant),
139 construct<LiteralConstant>(intLiteralConstant),
140 construct<LiteralConstant>(Parser<ComplexLiteralConstant>{}),
141 construct<LiteralConstant>(Parser<BOZLiteralConstant>{}),
142 construct<LiteralConstant>(charLiteralConstant),
143 construct<LiteralConstant>(Parser<LogicalLiteralConstant>{})))
146 TYPE_PARSER(construct<NamedConstant>(name))
149 TYPE_PARSER(construct<TypeParamValue>(scalarIntExpr) ||
150 construct<TypeParamValue>(star) ||
151 construct<TypeParamValue>(construct<TypeParamValue::Deferred>(":"_tok)))
160 construct<TypeSpec>(intrinsicTypeSpec / lookAhead("::"_tok || ")"_tok)) ||
161 construct<TypeSpec>(derivedTypeSpec))
174 construct<DeclarationTypeSpec>(intrinsicTypeSpec) ||
176 (parenthesized(construct<DeclarationTypeSpec>(
178 parenthesized(construct<DeclarationTypeSpec>(
179 construct<DeclarationTypeSpec::Type>(derivedTypeSpec))) ||
180 construct<DeclarationTypeSpec>(
181 "( * )" >> construct<DeclarationTypeSpec::TypeStar>())) ||
182 "CLASS" >> parenthesized(construct<DeclarationTypeSpec>(
183 construct<DeclarationTypeSpec::Class>(
185 construct<DeclarationTypeSpec>("*" >>
186 construct<DeclarationTypeSpec::ClassStar>())) ||
189 construct<DeclarationTypeSpec>(
193 construct<DeclarationTypeSpec::Record>(
202 first(construct<IntrinsicTypeSpec>(integerTypeSpec),
203 construct<IntrinsicTypeSpec>(
204 construct<IntrinsicTypeSpec::Real>("REAL" >> maybe(kindSelector))),
205 construct<IntrinsicTypeSpec>("DOUBLE PRECISION" >>
206 construct<IntrinsicTypeSpec::DoublePrecision>()),
207 construct<IntrinsicTypeSpec>(construct<IntrinsicTypeSpec::Complex>(
209 construct<IntrinsicTypeSpec>(construct<IntrinsicTypeSpec::Character>(
211 construct<IntrinsicTypeSpec>(construct<IntrinsicTypeSpec::Logical>(
215 construct<IntrinsicTypeSpec>("DOUBLE COMPLEX"_sptok >>
216 construct<IntrinsicTypeSpec::DoubleComplex>())),
218 construct<IntrinsicTypeSpec>(construct<IntegerTypeSpec>(
219 "BYTE" >> construct<std::optional<KindSelector>>(pure(1)))))))
222 TYPE_PARSER(construct<IntegerTypeSpec>("INTEGER" >> maybe(kindSelector)))
226 TYPE_PARSER(construct<KindSelector>(
230 construct<KindSelector>(construct<KindSelector::StarSize>(
234 TYPE_PARSER(sourced(construct<SignedIntLiteralConstant>(
240 TYPE_PARSER(construct<IntLiteralConstant>(
244 TYPE_PARSER(construct<KindParam>(digitString64) ||
245 construct<KindParam>(scalar(integer(constant(name)))))
256 construct<SignedRealLiteralConstant>(maybe(sign), realLiteralConstant)};
273 construct<RealLiteralConstant>(
280 construct<RealLiteralConstant::Real>()),
285 parenthesized(construct<ComplexLiteralConstant>(
289 TYPE_PARSER(construct<SignedComplexLiteralConstant>( in TYPE_PARSER()
298 TYPE_PARSER(construct<ComplexPart>(signedRealLiteralConstant) ||
299 construct<ComplexPart>(signedIntLiteralConstant) ||
300 construct<ComplexPart>(namedConstant))
307 TYPE_PARSER(construct<CharSelector>(Parser<LengthSelector>{}) ||
308 parenthesized(construct<CharSelector>(
310 parenthesized(construct<CharSelector>(
312 parenthesized(construct<CharSelector>(
320 TYPE_PARSER(construct<LengthSelector>(
322 construct<LengthSelector>("*" >> charLength /* / maybe(","_tok) */))
325 TYPE_PARSER(construct<CharLength>(parenthesized(typeParamValue)) ||
326 construct<CharLength>(space >> digitString64 / spaceCheck))
335 construct<CharLiteralConstant>(
337 construct<CharLiteralConstant>(construct<std::optional<KindParam>>(),
341 "Hollerith"_en_US, construct<HollerithLiteralConstant>(rawHollerithLiteral))
346 TYPE_PARSER(construct<LogicalLiteralConstant>(
348 construct<LogicalLiteralConstant>(
357 construct<DerivedTypeDef>(statement(Parser<DerivedTypeStmt>{}),
369 construct<DerivedTypeStmt>(
375 TYPE_PARSER(construct<TypeAttrSpec>(construct<Abstract>("ABSTRACT"_tok)) ||
376 construct<TypeAttrSpec>(construct<TypeAttrSpec::BindC>("BIND ( C )"_tok)) ||
377 construct<TypeAttrSpec>(
378 construct<TypeAttrSpec::Extends>("EXTENDS" >> parenthesized(name))) ||
379 construct<TypeAttrSpec>(accessSpec))
382 TYPE_PARSER(construct<PrivateOrSequence>(Parser<PrivateStmt>{}) ||
383 construct<PrivateOrSequence>(Parser<SequenceStmt>{}))
386 TYPE_PARSER(construct<EndTypeStmt>(
390 TYPE_PARSER(construct<SequenceStmt>("SEQUENCE"_tok))
397 TYPE_PARSER(construct<TypeParamDefStmt>(integerTypeSpec / ",", kindOrLen,
402 TYPE_PARSER(construct<TypeParamDecl>(name, maybe("=" >> scalarIntConstantExpr)))
410 first(construct<ComponentDefStmt>(Parser<DataComponentDefStmt>{}),
411 construct<ComponentDefStmt>(Parser<ProcComponentDefStmt>{}))),
412 construct<ComponentDefStmt>(inStmtErrorRecovery)))
418 TYPE_PARSER(construct<DataComponentDefStmt>(declarationTypeSpec,
427 TYPE_PARSER(construct<ComponentAttrSpec>(accessSpec) ||
428 construct<ComponentAttrSpec>(allocatable) ||
429 construct<ComponentAttrSpec>("CODIMENSION" >> coarraySpec) ||
430 construct<ComponentAttrSpec>(contiguous) ||
431 construct<ComponentAttrSpec>("DIMENSION" >> Parser<ComponentArraySpec>{}) ||
432 construct<ComponentAttrSpec>(pointer) ||
433 construct<ComponentAttrSpec>(recovery(
436 kindOrLen >> construct<ErrorRecovery>())))
443 construct<ComponentDecl>(name, maybe(Parser<ComponentArraySpec>{}),
449 construct<FillDecl>(space >> sourced("%FILL" >> construct<Name>()),
451 TYPE_PARSER(construct<ComponentOrFill>(Parser<ComponentDecl>{}) ||
452 construct<ComponentOrFill>(Parser<FillDecl>{}))
457 TYPE_PARSER(construct<ComponentArraySpec>(parenthesized(
460 construct<ComponentArraySpec>(parenthesized(deferredShapeSpecList)))
466 construct<ProcComponentDefStmt>(
475 constexpr auto noPass{construct<NoPass>("NOPASS"_tok)};
476 constexpr auto pass{construct<Pass>("PASS" >> maybe(parenthesized(name)))};
477 TYPE_PARSER(construct<ProcComponentAttrSpec>(accessSpec) ||
478 construct<ProcComponentAttrSpec>(noPass) ||
479 construct<ProcComponentAttrSpec>(pass) ||
480 construct<ProcComponentAttrSpec>(pointer))
490 TYPE_PARSER(construct<Initialization>("=>" >> nullInit) ||
491 construct<Initialization>("=>" >> initialDataTarget) ||
492 construct<Initialization>("=" >> constantExpr) ||
495 construct<Initialization>(
502 TYPE_PARSER(construct<PrivateStmt>("PRIVATE"_tok))
507 construct<TypeBoundProcedurePart>(statement(containsStmt),
516 first(construct<TypeBoundProcBinding>(Parser<TypeBoundProcedureStmt>{}),
517 construct<TypeBoundProcBinding>(Parser<TypeBoundGenericStmt>{}),
518 construct<TypeBoundProcBinding>(Parser<FinalProcedureStmt>{})),
519 construct<TypeBoundProcBinding>(
520 !"END"_tok >> SkipTo<'\n'>{} >> construct<ErrorRecovery>())))
527 (construct<TypeBoundProcedureStmt>(
528 construct<TypeBoundProcedureStmt::WithInterface>(
534 construct<TypeBoundProcedureStmt>(
535 construct<TypeBoundProcedureStmt::WithoutInterface>(
542 TYPE_PARSER(construct<TypeBoundProcDecl>(name, maybe("=>" >> name)))
547 construct<TypeBoundGenericStmt>("GENERIC" >> maybe("," >> accessSpec),
552 TYPE_PARSER(construct<BindAttr>(accessSpec) ||
553 construct<BindAttr>(construct<BindAttr::Deferred>("DEFERRED"_tok)) ||
554 construct<BindAttr>(
555 construct<BindAttr::Non_Overridable>("NON_OVERRIDABLE"_tok)) ||
556 construct<BindAttr>(noPass) || construct<BindAttr>(pass))
560 construct<FinalProcedureStmt>("FINAL" >> maybe("::"_tok) >> listOfNames))
563 TYPE_PARSER(construct<DerivedTypeSpec>(name,
568 TYPE_PARSER(construct<TypeParamSpec>(maybe(keyword / "="), typeParamValue))
571 TYPE_PARSER((construct<StructureConstructor>(derivedTypeSpec,
576 construct<StructureConstructor>(
577 construct<DerivedTypeSpec>(
578 name, construct<std::list<TypeParamSpec>>()),
583 TYPE_PARSER(construct<ComponentSpec>(
587 TYPE_PARSER(construct<ComponentDataSource>(indirect(expr))) in TYPE_PARSER()
593 construct<EnumDef>(statement(Parser<EnumDefStmt>{}), in TYPE_PARSER()
598 TYPE_PARSER(construct<EnumDefStmt>("ENUM , BIND ( C )"_tok))
602 construct<EnumeratorDefStmt>("ENUMERATOR" >> maybe("::"_tok) >>
607 construct<Enumerator>(namedConstant, maybe("=" >> scalarIntConstantExpr)))
611 construct<EndEnumStmt>())
615 constexpr auto entityDeclWithoutEqInit{construct<EntityDecl>(name,
619 construct<TypeDeclarationStmt>(declarationTypeSpec,
623 construct<TypeDeclarationStmt>(declarationTypeSpec,
624 construct<std::list<AttrSpec>>(),
630 construct<TypeDeclarationStmt>(declarationTypeSpec,
641 TYPE_PARSER(construct<AttrSpec>(accessSpec) ||
642 construct<AttrSpec>(allocatable) ||
643 construct<AttrSpec>(construct<Asynchronous>("ASYNCHRONOUS"_tok)) ||
644 construct<AttrSpec>("CODIMENSION" >> coarraySpec) ||
645 construct<AttrSpec>(contiguous) ||
646 construct<AttrSpec>("DIMENSION" >> arraySpec) ||
647 construct<AttrSpec>(construct<External>("EXTERNAL"_tok)) ||
648 construct<AttrSpec>("INTENT" >> parenthesized(intentSpec)) ||
649 construct<AttrSpec>(construct<Intrinsic>("INTRINSIC"_tok)) ||
650 construct<AttrSpec>(languageBindingSpec) || construct<AttrSpec>(optional) ||
651 construct<AttrSpec>(construct<Parameter>("PARAMETER"_tok)) ||
652 construct<AttrSpec>(pointer) || construct<AttrSpec>(protectedAttr) ||
653 construct<AttrSpec>(save) ||
654 construct<AttrSpec>(construct<Target>("TARGET"_tok)) ||
655 construct<AttrSpec>(construct<Value>("VALUE"_tok)) ||
656 construct<AttrSpec>(construct<Volatile>("VOLATILE"_tok)))
665 TYPE_PARSER(construct<EntityDecl>(objectName, maybe(arraySpec),
669 TYPE_PARSER(lookAhead(name / "( )") >> construct<NullInit>(expr))
672 TYPE_PARSER(construct<AccessSpec>("PUBLIC" >> pure(AccessSpec::Kind::Public)) ||
673 construct<AccessSpec>("PRIVATE" >> pure(AccessSpec::Kind::Private)))
678 TYPE_PARSER(construct<LanguageBindingSpec>(
685 construct<CoarraySpec>(bracketed(Parser<DeferredCoshapeSpecList>{})) ||
686 construct<CoarraySpec>(bracketed(Parser<ExplicitCoshapeSpec>{})))
692 TYPE_PARSER(construct<DeferredCoshapeSpecList>(
699 TYPE_PARSER(construct<ExplicitCoshapeSpec>(
711 construct<ArraySpec>(parenthesized(nonemptyList(explicitShapeSpec))) ||
712 construct<ArraySpec>(parenthesized(deferredShapeSpecList)) ||
713 construct<ArraySpec>(
715 construct<ArraySpec>(parenthesized(Parser<AssumedSizeSpec>{})) ||
716 construct<ArraySpec>(parenthesized(Parser<ImpliedShapeSpec>{})) ||
717 construct<ArraySpec>(parenthesized(Parser<AssumedRankSpec>{})))
722 TYPE_PARSER(construct<ExplicitShapeSpec>(
726 TYPE_PARSER(construct<AssumedShapeSpec>(maybe(specificationExpr) / ":"))
730 TYPE_PARSER(construct<DeferredShapeSpecList>(
734 TYPE_PARSER(construct<AssumedImpliedSpec>(maybe(specificationExpr / ":") / "*"))
737 TYPE_PARSER(construct<AssumedSizeSpec>(
744 TYPE_PARSER(construct<ImpliedShapeSpec>(nonemptyList(assumedImpliedSpec))) in TYPE_PARSER()
747 TYPE_PARSER(construct<AssumedRankSpec>(".."_tok)) in TYPE_PARSER()
750 TYPE_PARSER(construct<IntentSpec>("IN OUT" >> pure(IntentSpec::Intent::InOut) || in TYPE_PARSER()
755 TYPE_PARSER(construct<AccessStmt>(accessSpec, in TYPE_PARSER()
761 TYPE_PARSER(construct<AccessId>(indirect(genericSpec)) ||
762 construct<AccessId>(name)) // initially ambiguous with genericSpec
765 TYPE_PARSER(construct<AllocatableStmt>("ALLOCATABLE" >> maybe("::"_tok) >>
774 construct<ObjectDecl>(objectName, maybe(arraySpec), maybe(coarraySpec)))
777 TYPE_PARSER(construct<AsynchronousStmt>("ASYNCHRONOUS" >> maybe("::"_tok) >>
781 TYPE_PARSER(construct<BindStmt>(languageBindingSpec / maybe("::"_tok),
785 TYPE_PARSER(construct<BindEntity>(pure(BindEntity::Kind::Object), name) ||
786 construct<BindEntity>("/" >> pure(BindEntity::Kind::Common), name / "/"))
789 TYPE_PARSER(construct<CodimensionStmt>("CODIMENSION" >> maybe("::"_tok) >>
794 TYPE_PARSER(construct<CodimensionDecl>(name, coarraySpec))
797 TYPE_PARSER(construct<ContiguousStmt>("CONTIGUOUS" >> maybe("::"_tok) >>
802 construct<DataStmt>(
806 TYPE_PARSER(construct<DataStmtSet>(
815 TYPE_PARSER(construct<DataStmtObject>(indirect(variable)) ||
816 construct<DataStmtObject>(dataImpliedDo))
823 TYPE_PARSER(parenthesized(construct<DataImpliedDo>(
829 TYPE_PARSER(construct<DataIDoObject>(scalar(indirect(designator))) ||
830 construct<DataIDoObject>(indirect(dataImpliedDo)))
833 TYPE_PARSER(construct<DataStmtValue>(
844 TYPE_PARSER(construct<DataStmtRepeat>(intLiteralConstant) ||
845 construct<DataStmtRepeat>(scalar(integer(constantSubobject))))
859 TYPE_PARSER(sourced(first(construct<DataStmtConstant>(literalConstant),
860 construct<DataStmtConstant>(signedRealLiteralConstant),
861 construct<DataStmtConstant>(signedIntLiteralConstant),
864 construct<DataStmtConstant>(Parser<SignedComplexLiteralConstant>{})),
865 construct<DataStmtConstant>(nullInit),
866 construct<DataStmtConstant>(indirect(designator) / !"("_tok),
867 construct<DataStmtConstant>(Parser<StructureConstructor>{}))))
873 construct<DimensionStmt>("DIMENSION" >> maybe("::"_tok) >>
875 construct<DimensionStmt::Declaration>(name, arraySpec))))
879 construct<IntentStmt>(
884 construct<OptionalStmt>("OPTIONAL" >> maybe("::"_tok) >> listOfNames))
889 construct<ParameterStmt>(
894 construct<OldParameterStmt>(
898 TYPE_PARSER(construct<NamedConstantDef>(namedConstant, "=" >> constantExpr))
901 TYPE_PARSER(construct<PointerStmt>("POINTER" >> maybe("::"_tok) >>
908 construct<PointerDecl>(name, maybe(parenthesized(deferredShapeSpecList)))) in TYPE_PARSER()
912 construct<ProtectedStmt>("PROTECTED" >> maybe("::"_tok) >> listOfNames)) in TYPE_PARSER()
915 TYPE_PARSER(construct<SaveStmt>( in TYPE_PARSER()
922 TYPE_PARSER(construct<SavedEntity>(pure(SavedEntity::Kind::Entity), name) ||
923 construct<SavedEntity>("/" >> pure(SavedEntity::Kind::Common), name / "/"))
926 TYPE_PARSER(construct<TargetStmt>("TARGET" >> maybe("::"_tok) >>
930 TYPE_PARSER(construct<ValueStmt>("VALUE" >> maybe("::"_tok) >> listOfNames))
933 TYPE_PARSER(construct<VolatileStmt>("VOLATILE" >> maybe("::"_tok) >>
945 construct<ImplicitStmt>(
948 construct<ImplicitStmt>("IMPLICIT NONE"_sptok >>
958 constexpr auto noKindSelector{construct<std::optional<KindSelector>>()};
960 construct<DeclarationTypeSpec>(first(
961 construct<IntrinsicTypeSpec>(
962 construct<IntegerTypeSpec>("INTEGER" >> noKindSelector)),
963 construct<IntrinsicTypeSpec>(
964 construct<IntrinsicTypeSpec::Real>("REAL" >> noKindSelector)),
965 construct<IntrinsicTypeSpec>(
966 construct<IntrinsicTypeSpec::Complex>("COMPLEX" >> noKindSelector)),
967 construct<IntrinsicTypeSpec>(construct<IntrinsicTypeSpec::Character>(
968 "CHARACTER" >> construct<std::optional<CharSelector>>())),
969 construct<IntrinsicTypeSpec>(construct<IntrinsicTypeSpec::Logical>(
972 TYPE_PARSER(construct<ImplicitSpec>(declarationTypeSpec,
974 construct<ImplicitSpec>(implicitSpecDeclarationTypeSpecRetry,
978 TYPE_PARSER(space >> (construct<LetterSpec>(letter, maybe("-" >> letter)) ||
979 construct<LetterSpec>(otherIdChar,
980 construct<std::optional<const char *>>())))
986 construct<ImportStmt>(
988 construct<ImportStmt>(
990 construct<ImportStmt>(
992 construct<ImportStmt>(
999 TYPE_PARSER(construct<NamelistStmt>("NAMELIST" >>
1001 construct<NamelistStmt::Group>("/" >> name / "/", listOfNames),
1006 TYPE_PARSER(construct<EquivalenceStmt>("EQUIVALENCE" >>
1012 TYPE_PARSER(construct<EquivalenceObject>(indirect(designator))) in TYPE_PARSER()
1018 construct<CommonStmt>("COMMON" >> defaulted("/" >> maybe(name) / "/"), in TYPE_PARSER()
1022 construct<CommonStmt::Block>("/" >> maybe(name) / "/",
1027 TYPE_PARSER(construct<CommonBlockObject>(name, maybe(arraySpec)))
1044 sourced(construct<Designator>(substring) || construct<Designator>(dataRef)))
1064 construct<Variable>(indirect(functionReference / noMoreAddressing)) ||
1065 construct<Variable>(indirect(designator)))
1073 construct<Substring>(dataRef, parenthesized(Parser<SubstringRange>{}))) in TYPE_PARSER()
1075 TYPE_PARSER(construct<CharLiteralConstantSubstring>(
1078 TYPE_PARSER(sourced(construct<SubstringInquiry>(Parser<Substring>{}) /
1082 TYPE_PARSER(construct<SubstringRange>(
1089 construct<DataRef>(nonemptySeparated(Parser<PartRef>{}, percentOrDot)))
1092 TYPE_PARSER(construct<PartRef>(name,
1099 TYPE_PARSER(construct<StructureComponent>(
1100 construct<DataRef>(some(Parser<PartRef>{} / percentOrDot)), name))
1109 TYPE_PARSER(construct<SectionSubscript>(Parser<SubscriptTriplet>{}) ||
1110 construct<SectionSubscript>(intExpr))
1113 TYPE_PARSER(construct<SubscriptTriplet>(
1122 construct<ImageSelector>(
1129 TYPE_PARSER(construct<ImageSelectorSpec>(construct<ImageSelectorSpec::Stat>(
1131 construct<ImageSelectorSpec>(construct<TeamValue>("TEAM =" >> teamValue)) ||
1132 construct<ImageSelectorSpec>(construct<ImageSelectorSpec::Team_Number>(
1138 construct<AllocateStmt>("ALLOCATE (" >> maybe(typeSpec / "::"),
1146 TYPE_PARSER(construct<AllocOpt>(
1147 construct<AllocOpt::Mold>("MOLD =" >> indirect(expr))) ||
1148 construct<AllocOpt>(
1149 construct<AllocOpt::Source>("SOURCE =" >> indirect(expr))) ||
1150 construct<AllocOpt>(statOrErrmsg))
1153 TYPE_PARSER(construct<StatVariable>(scalar(integer(variable)))) in TYPE_PARSER()
1158 TYPE_PARSER(construct<Allocation>(Parser<AllocateObject>{}, in TYPE_PARSER()
1163 TYPE_PARSER(construct<AllocateObject>(structureComponent) ||
1164 construct<AllocateObject>(name / !"="_tok))
1168 TYPE_PARSER(construct<AllocateShapeSpec>(maybe(boundExpr / ":"), boundExpr))
1172 TYPE_PARSER(construct<AllocateCoarraySpec>(
1178 "NULLIFY" >> parenthesized(construct<NullifyStmt>(
1183 TYPE_PARSER(construct<PointerObject>(structureComponent) ||
1184 construct<PointerObject>(name))
1189 construct<DeallocateStmt>(
1195 TYPE_PARSER(construct<StatOrErrmsg>("STAT =" >> statVariable) ||
1196 construct<StatOrErrmsg>("ERRMSG =" >> msgVariable))
1204 "DIR$ IGNORE_TKR" >> optionalList(construct<CompilerDirective::IgnoreTKR>(
1207 sourced(construct<CompilerDirective>(ignore_tkr) ||
1208 construct<CompilerDirective>(
1209 "DIR$" >> many(construct<CompilerDirective::NameValue>(name,
1215 construct<BasedPointerStmt>(
1217 construct<BasedPointer>("(" >> objectName / ",",
1222 TYPE_PARSER(construct<StructureStmt>(
1227 construct<StructureDef>(statement(NestedStructureStmt{}),
1229 statement(construct<StructureDef::EndStructureStmt>(
1232 TYPE_PARSER(construct<StructureField>(statement(StructureComponents{})) ||
1233 construct<StructureField>(indirect(Parser<Union>{})) ||
1234 construct<StructureField>(indirect(nestedStructureDef)))
1239 construct<StructureDef>(statement(Parser<StructureStmt>{}),
1241 statement(construct<StructureDef::EndStructureStmt>(
1245 construct<Union>(statement(construct<Union::UnionStmt>("UNION"_tok)),
1247 statement(construct<Union::EndUnionStmt>("END UNION"_tok))))
1250 construct<Map>(statement(construct<Map::MapStmt>("MAP"_tok)),
1252 statement(construct<Map::EndMapStmt>("END MAP"_tok))))
1255 deprecated<LanguageFeature::ArithmeticIF>(construct<ArithmeticIfStmt>(
1260 construct<AssignStmt>("ASSIGN" >> label, "TO" >> name)))
1263 deprecated<LanguageFeature::AssignedGOTO>(construct<AssignedGotoStmt>(
1270 construct<PauseStmt>("PAUSE" >> maybe(Parser<StopCode>{}))))