FLANG
ParserActions.h
1//===- ParserActions.h -------------------------------------------*- C++-*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Coding style: https://mlir.llvm.org/getting_started/DeveloperGuide/
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef FORTRAN_PARSER_ACTIONS_H_
14#define FORTRAN_PARSER_ACTIONS_H_
15
16#include <string>
17
18namespace llvm {
19class raw_string_ostream;
20class raw_ostream;
21class StringRef;
22} // namespace llvm
23
24namespace Fortran::lower {
25class LoweringBridge;
26} // namespace Fortran::lower
27
28namespace Fortran::parser {
29class Parsing;
30class AllCookedSources;
31} // namespace Fortran::parser
32
33namespace lower::pft {
34class Program;
35} // namespace lower::pft
36
37//=== Frontend Parser helpers ===
38
39namespace Fortran::frontend {
41
42parser::AllCookedSources &getAllCooked(CompilerInstance &ci);
43
44void parseAndLowerTree(CompilerInstance &ci, lower::LoweringBridge &lb);
45
46void dumpTree(CompilerInstance &ci);
47
48void dumpProvenance(CompilerInstance &ci);
49
50void dumpPreFIRTree(CompilerInstance &ci);
51
52void formatOrDumpPrescanner(std::string &buf,
53 llvm::raw_string_ostream &outForPP,
55
56void debugMeasureParseTree(CompilerInstance &ci, llvm::StringRef filename);
57
58void debugUnparseNoSema(CompilerInstance &ci, llvm::raw_ostream &out);
59
60void debugUnparseWithSymbols(CompilerInstance &ci);
61
62void debugUnparseWithModules(CompilerInstance &ci);
63
64void debugDumpParsingLog(CompilerInstance &ci);
65} // namespace Fortran::frontend
66
67#endif // FORTRAN_PARSER_ACTIONS_H_
Definition CompilerInstance.h:43
Definition Bridge.h:57
Definition ParserActions.h:24
Definition check-expression.h:19