Gyoji Compiler
Loading...
Searching...
No Matches
jformat-tree.hpp
1#pragma once
2
3#include <gyoji-frontend.hpp>
4
5namespace Gyoji::cmdline {
6 using namespace Gyoji::context;
7 using namespace Gyoji::frontend::ast;
8 using namespace Gyoji::frontend::tree;
15 public:
18 int process(const SyntaxNode & file);
19 private:
20 int indent;
22
23 std::string get_token_name(TokenID token) const;
24
25 void print_non_syntax(const TerminalNonSyntax & non_syntax);
26 void print_indent(void);
27 void print_comment_multi_line(const TerminalNonSyntax & node);
28 void print_comment_single_line(const TerminalNonSyntax & node);
29 void print_whitespace(const TerminalNonSyntax & node);
30 void print_file_metadata(const TerminalNonSyntax & node);
31
32
33 };
34
35};
Definition jformat-tree.hpp:14
Weakly-typed syntax node.
Definition syntax-node.hpp:55
Represents whitespace, comments, and metadata for the source file.
Definition tree.hpp:30
The context namespace deals with objects that should last the entire scope of compilation.
Definition gyoji-context.hpp:16
Abstract syntax tree.
Definition syntax-node.hpp:22
Strongly-typed syntax tree.
Definition forward.hpp:30