source: src/Parser/RunParser.hpp @ d0bdb18

ADTast-experimental
Last change on this file since d0bdb18 was cbd1ba8, checked in by Andrew Beach <ajbeach@…>, 17 months ago

Moved parsing code out of main into the parsing directly, as an organizational improvement. The new files use the new naming convention, and should be converted to the new AST.

  • Property mode set to 100644
File size: 1.4 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2018 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// RunParser.hpp -- External interface to the parser.
8//
9// Author           : Andrew Beach
10// Created On       : Mon Dec 19 10:42:00 2022
11// Last Modified By : Andrew Beach
12// Last Modified On : Mon Dec 19 11:15:00 2022
13// Update Count     : 0
14//
15
16#pragma once
17
18#include <iosfwd>                           // for ostream
19#include <list>                             // for list
20
21#include "SynTree/LinkageSpec.h"            // for Spec
22class Declaration;
23
24// The Parser does not have an enclosing namespace.
25
26/// Parse the contents of the input file, setting the initial linkage to the
27/// value provided. Results are saved to the internal accumulator.
28/// The input file is closed when complete. Exits instead of returning on
29/// error or if alwaysExit is true.
30void parse( FILE * input, LinkageSpec::Spec linkage, bool alwaysExit = false );
31
32/// Drain the internal accumulator of parsed code and print it to the stream.
33void dumpParseTree( std::ostream & );
34
35/// Drain the internal accumulator of parsed code and build a translation
36/// unit from it.
37std::list<Declaration *> buildUnit(void);
38
39// Local Variables: //
40// tab-width: 4 //
41// mode: c++ //
42// compile-command: "make install" //
43// End: //
Note: See TracBrowser for help on using the repository browser.