Lines Matching refs:parser
32 using EntryStmtList = std::list<common::Reference<const parser::EntryStmt>>;
34 std::list<common::Reference<const parser::GenericSpec>>;
37 static ProgramTree Build(const parser::ProgramUnit &);
38 static ProgramTree Build(const parser::MainProgram &);
39 static ProgramTree Build(const parser::FunctionSubprogram &);
40 static ProgramTree Build(const parser::SubroutineSubprogram &);
41 static ProgramTree Build(const parser::SeparateModuleSubprogram &);
42 static ProgramTree Build(const parser::Module &);
43 static ProgramTree Build(const parser::Submodule &);
44 static ProgramTree Build(const parser::BlockData &);
45 static ProgramTree Build(const parser::CompilerDirective &);
50 const parser::Statement<parser::ProgramStmt> *,
51 const parser::Statement<parser::FunctionStmt> *,
52 const parser::Statement<parser::SubroutineStmt> *,
53 const parser::Statement<parser::MpSubprogramStmt> *,
54 const parser::Statement<parser::ModuleStmt> *,
55 const parser::Statement<parser::SubmoduleStmt> *,
56 const parser::Statement<parser::BlockDataStmt> *>;
58 ProgramTree(const parser::Name &name, const parser::SpecificationPart &spec,
59 const parser::ExecutionPart *exec = nullptr)
62 const parser::Name &name() const { return name_; } in name()
71 const parser::ParentIdentifier &GetParentId() const; // only for Submodule
72 const parser::SpecificationPart &spec() const { return spec_; } in spec()
73 const parser::ExecutionPart *exec() const { return exec_; } in exec()
84 const parser::LanguageBindingSpec *bindingSpec() const { in bindingSpec()
87 ProgramTree &set_bindingSpec(const parser::LanguageBindingSpec *spec) { in set_bindingSpec()
92 void AddEntry(const parser::EntryStmt &);
93 void AddGeneric(const parser::GenericSpec &);
96 ProgramTree &set_stmt(const parser::Statement<T> &stmt) { in set_stmt()
101 ProgramTree &set_endStmt(const parser::Statement<T> &stmt) { in set_endStmt()
107 const parser::Name &name_;
109 static_cast<const parser::Statement<parser::ProgramStmt> *>(nullptr)};
110 const parser::SpecificationPart &spec_;
111 const parser::ExecutionPart *exec_{nullptr};
116 const parser::CharBlock *endStmt_{nullptr};
118 const parser::LanguageBindingSpec *bindingSpec_{nullptr};