Lines Matching refs:construct
39 construct<ProgramUnit>(indirect(Parser<Module>{})) ||
40 construct<ProgramUnit>(indirect(functionSubprogram)) ||
41 construct<ProgramUnit>(indirect(subroutineSubprogram)) ||
42 construct<ProgramUnit>(indirect(Parser<Submodule>{})) ||
43 construct<ProgramUnit>(indirect(Parser<BlockData>{})) ||
44 construct<ProgramUnit>(indirect(Parser<MainProgram>{}))};
48 construct<ProgramUnit>(indirect(compilerDirective))};
58 construct<Program>(extension<LanguageFeature::EmptySourceFile>(
69 construct<SpecificationPart>(many(openaccDeclarativeConstruct),
103 first(construct<DeclarationConstruct>(specificationConstruct),
104 construct<DeclarationConstruct>(statement(indirect(dataStmt))),
105 construct<DeclarationConstruct>(
107 construct<DeclarationConstruct>(statement(indirect(entryStmt))),
108 construct<DeclarationConstruct>(
111 construct<DeclarationConstruct>(declErrorRecovery)))
124 first(construct<DeclarationConstruct>(specificationConstruct),
125 construct<DeclarationConstruct>(statement(indirect(dataStmt))),
127 construct<DeclarationConstruct>(
136 construct<SpecificationPart>(many(openaccDeclarativeConstruct),
147 first(construct<SpecificationConstruct>(indirect(Parser<DerivedTypeDef>{})),
148 construct<SpecificationConstruct>(indirect(Parser<EnumDef>{})),
149 construct<SpecificationConstruct>(
151 construct<SpecificationConstruct>(indirect(interfaceBlock)),
152 construct<SpecificationConstruct>(statement(indirect(parameterStmt))),
153 construct<SpecificationConstruct>(
155 construct<SpecificationConstruct>(
157 construct<SpecificationConstruct>(
159 construct<SpecificationConstruct>(
161 construct<SpecificationConstruct>(indirect(Parser<StructureDef>{})),
162 construct<SpecificationConstruct>(
164 construct<SpecificationConstruct>(indirect(openmpDeclarativeConstruct)),
165 construct<SpecificationConstruct>(indirect(compilerDirective))))
174 construct<OtherSpecificationStmt>(indirect(Parser<AccessStmt>{})), in TYPE_PARSER()
175 construct<OtherSpecificationStmt>(indirect(Parser<AllocatableStmt>{})),
176 construct<OtherSpecificationStmt>(indirect(Parser<AsynchronousStmt>{})),
177 construct<OtherSpecificationStmt>(indirect(Parser<BindStmt>{})),
178 construct<OtherSpecificationStmt>(indirect(Parser<CodimensionStmt>{})),
179 construct<OtherSpecificationStmt>(indirect(Parser<ContiguousStmt>{})),
180 construct<OtherSpecificationStmt>(indirect(Parser<DimensionStmt>{})),
181 construct<OtherSpecificationStmt>(indirect(Parser<ExternalStmt>{})),
182 construct<OtherSpecificationStmt>(indirect(Parser<IntentStmt>{})),
183 construct<OtherSpecificationStmt>(indirect(Parser<IntrinsicStmt>{})),
184 construct<OtherSpecificationStmt>(indirect(Parser<NamelistStmt>{})),
185 construct<OtherSpecificationStmt>(indirect(Parser<OptionalStmt>{})),
186 construct<OtherSpecificationStmt>(indirect(Parser<PointerStmt>{})),
187 construct<OtherSpecificationStmt>(indirect(Parser<ProtectedStmt>{})),
188 construct<OtherSpecificationStmt>(indirect(Parser<SaveStmt>{})),
189 construct<OtherSpecificationStmt>(indirect(Parser<TargetStmt>{})),
190 construct<OtherSpecificationStmt>(indirect(Parser<ValueStmt>{})),
191 construct<OtherSpecificationStmt>(indirect(Parser<VolatileStmt>{})),
192 construct<OtherSpecificationStmt>(indirect(Parser<CommonStmt>{})),
193 construct<OtherSpecificationStmt>(indirect(Parser<EquivalenceStmt>{})),
194 construct<OtherSpecificationStmt>(indirect(Parser<BasedPointerStmt>{}))))
200 construct<MainProgram>(maybe(statement(Parser<ProgramStmt>{})),
207 construct<ProgramStmt>("PROGRAM" >> name /
214 construct<EndProgramStmt>(recovery(
221 construct<Module>(statement(Parser<ModuleStmt>{}), limitedSpecificationPart,
227 "MODULE statement"_en_US, construct<ModuleStmt>("MODULE" >> name))
231 construct<EndModuleStmt>(recovery(
236 construct<ModuleSubprogramPart>(statement(containsStmt),
242 TYPE_PARSER(construct<ModuleSubprogram>(indirect(functionSubprogram)) ||
243 construct<ModuleSubprogram>(indirect(subroutineSubprogram)) ||
244 construct<ModuleSubprogram>(indirect(Parser<SeparateModuleSubprogram>{})))
257 TYPE_PARSER(construct<UseStmt>("USE" >> optionalBeforeColons(moduleNature),
259 construct<UseStmt>("USE" >> optionalBeforeColons(moduleNature), name,
268 TYPE_PARSER(construct<Rename>("OPERATOR (" >>
269 construct<Rename::Operators>(
271 construct<Rename>(construct<Rename::Names>(name, "=>" >> name)))
276 TYPE_PARSER(construct<Only>(Parser<Rename>{}) ||
277 construct<Only>(indirect(genericSpec)) || construct<Only>(name))
283 construct<Submodule>(statement(Parser<SubmoduleStmt>{}),
289 construct<SubmoduleStmt>(
293 TYPE_PARSER(construct<ParentIdentifier>(name, maybe(":" >> name)))
297 construct<EndSubmoduleStmt>(
303 construct<BlockData>(statement(Parser<BlockDataStmt>{}),
309 construct<BlockDataStmt>("BLOCK DATA" >> maybe(name)))
313 construct<EndBlockDataStmt>(
319 TYPE_PARSER(construct<InterfaceBlock>(statement(Parser<InterfaceStmt>{}), in TYPE_PARSER()
324 TYPE_PARSER(construct<InterfaceSpecification>(Parser<InterfaceBody>{}) ||
325 construct<InterfaceSpecification>(statement(Parser<ProcedureStmt>{})))
328 TYPE_PARSER(construct<InterfaceStmt>("INTERFACE" >> maybe(genericSpec)) ||
329 construct<InterfaceStmt>(construct<Abstract>("ABSTRACT INTERFACE"_sptok)))
332 TYPE_PARSER(construct<EndInterfaceStmt>("END INTERFACE" >> maybe(genericSpec)))
338 construct<InterfaceBody>(
339 construct<InterfaceBody::Function>(statement(functionStmt),
341 construct<InterfaceBody>(construct<InterfaceBody::Subroutine>(
350 TYPE_PARSER(construct<ProcedureStmt>("MODULE PROCEDURE"_sptok >>
353 construct<ProcedureStmt>(
363 TYPE_PARSER(sourced(first(construct<GenericSpec>("OPERATOR" >>
365 construct<GenericSpec>(
366 construct<GenericSpec::Assignment>("ASSIGNMENT ( = )"_tok)),
367 construct<GenericSpec>(
368 construct<GenericSpec::ReadFormatted>("READ ( FORMATTED )"_tok)),
369 construct<GenericSpec>(
370 construct<GenericSpec::ReadUnformatted>("READ ( UNFORMATTED )"_tok)),
371 construct<GenericSpec>(
372 construct<GenericSpec::WriteFormatted>("WRITE ( FORMATTED )"_tok)),
373 construct<GenericSpec>(
374 construct<GenericSpec::WriteUnformatted>("WRITE ( UNFORMATTED )"_tok)),
375 construct<GenericSpec>(name))))
379 TYPE_PARSER(construct<GenericStmt>("GENERIC" >> maybe("," >> accessSpec),
384 "EXTERNAL" >> maybe("::"_tok) >> construct<ExternalStmt>(listOfNames))
390 construct<ProcedureDeclarationStmt>(parenthesized(maybe(procInterface)),
400 construct<ProcInterface>(declarationTypeSpec / lookAhead(")"_tok)) ||
401 construct<ProcInterface>(name))
406 TYPE_PARSER(construct<ProcAttrSpec>(accessSpec) ||
407 construct<ProcAttrSpec>(languageBindingSpec) ||
408 construct<ProcAttrSpec>("INTENT" >> parenthesized(intentSpec)) ||
409 construct<ProcAttrSpec>(optional) || construct<ProcAttrSpec>(pointer) ||
410 construct<ProcAttrSpec>(protectedAttr) || construct<ProcAttrSpec>(save))
413 TYPE_PARSER(construct<ProcDecl>(name, maybe("=>" >> Parser<ProcPointerInit>{})))
418 construct<ProcPointerInit>(nullInit) || construct<ProcPointerInit>(name))
422 "INTRINSIC" >> maybe("::"_tok) >> construct<IntrinsicStmt>(listOfNames))
426 construct<FunctionReference>(
427 sourced(construct<Call>(Parser<ProcedureDesignator>{},
432 TYPE_PARSER(construct<CallStmt>(
433 sourced(construct<Call>("CALL" >> Parser<ProcedureDesignator>{},
438 TYPE_PARSER(construct<ProcedureDesignator>(Parser<ProcComponentRef>{}) ||
439 construct<ProcedureDesignator>(name))
442 TYPE_PARSER(construct<ActualArgSpec>(
453 TYPE_PARSER(construct<ActualArg>(expr) ||
454 construct<ActualArg>(Parser<AltReturnSpec>{}) ||
457 construct<ActualArg>(construct<ActualArg::PercentRef>(
461 construct<ActualArg>(
462 construct<ActualArg::PercentVal>("%VAL" >> parenthesized(expr)))))
465 TYPE_PARSER(construct<AltReturnSpec>(star >> label))
470 TYPE_PARSER(first(construct<PrefixSpec>(declarationTypeSpec),
471 construct<PrefixSpec>(construct<PrefixSpec::Elemental>("ELEMENTAL"_tok)),
472 construct<PrefixSpec>(construct<PrefixSpec::Impure>("IMPURE"_tok)),
473 construct<PrefixSpec>(construct<PrefixSpec::Module>("MODULE"_tok)),
474 construct<PrefixSpec>(
475 construct<PrefixSpec::Non_Recursive>("NON_RECURSIVE"_tok)),
476 construct<PrefixSpec>(construct<PrefixSpec::Pure>("PURE"_tok)),
477 construct<PrefixSpec>(construct<PrefixSpec::Recursive>("RECURSIVE"_tok))))
483 construct<FunctionSubprogram>(statement(functionStmt), specificationPart,
492 construct<FunctionStmt>(many(prefixSpec), "FUNCTION" >> name,
496 construct<FunctionStmt>( // PGI & Intel accept "FUNCTION F"
498 construct<std::list<Name>>(),
499 construct<std::optional<Suffix>>())))
504 TYPE_PARSER(construct<Suffix>(
506 construct<Suffix>(
510 TYPE_PARSER(construct<EndFunctionStmt>(recovery(
517 construct<SubroutineSubprogram>(statement(subroutineStmt),
525 construct<SubroutineStmt>(many(prefixSpec), "SUBROUTINE" >> name,
527 construct<SubroutineStmt>(many(prefixSpec), "SUBROUTINE" >> name,
532 TYPE_PARSER(construct<DummyArg>(name) || construct<DummyArg>(star))
535 TYPE_PARSER(construct<EndSubroutineStmt>(recovery(
542 construct<SeparateModuleSubprogram>(statement(Parser<MpSubprogramStmt>{}),
548 construct<MpSubprogramStmt>("MODULE PROCEDURE"_sptok >> name))
552 construct<EndMpSubprogramStmt>(
558 "ENTRY" >> (construct<EntryStmt>(name,
560 construct<EntryStmt>(name, construct<std::list<DummyArg>>(),
561 construct<std::optional<Suffix>>())))
565 construct<ReturnStmt>("RETURN" >> maybe(scalarIntExpr)))
568 TYPE_PARSER(construct<ContainsStmt>("CONTAINS"_tok))
573 construct<StmtFunctionStmt>(