VapourSynth-llvmexpr
Loading...
Searching...
No Matches
Symbol.hpp
Go to the documentation of this file.
1
19
20
#ifndef LLVMEXPR_FRONTEND_INFIX2POSTFIX_SYMBOL_HPP
21
#define LLVMEXPR_FRONTEND_INFIX2POSTFIX_SYMBOL_HPP
22
23
#include "
types.hpp
"
24
25
#include <cstdint>
26
#include <string>
27
28
namespace
infix2postfix
{
29
30
struct
Stmt
;
31
struct
Expr
;
32
33
enum class
SymbolKind
: std::uint8_t {
Variable
,
Function
,
Parameter
,
Label
};
34
35
struct
Symbol
{
36
SymbolKind
kind
;
37
std::string
name
;
38
Type
type
;
39
Range
definition_range
;
40
bool
is_used
=
false
;
41
42
const
FunctionSignature
*
signature
=
nullptr
;
43
};
44
45
}
// namespace infix2postfix
46
47
#endif
// LLVMEXPR_FRONTEND_INFIX2POSTFIX_SYMBOL_HPP
infix2postfix
Definition
AnalysisEngine.cpp:29
infix2postfix::SymbolKind
SymbolKind
Definition
Symbol.hpp:33
infix2postfix::SymbolKind::Variable
@ Variable
Definition
Symbol.hpp:33
infix2postfix::SymbolKind::Function
@ Function
Definition
Symbol.hpp:33
infix2postfix::SymbolKind::Label
@ Label
Definition
Symbol.hpp:33
infix2postfix::Type
Type
Definition
types.hpp:57
infix2postfix::Expr
Definition
AST.hpp:239
infix2postfix::FunctionSignature
Definition
types.hpp:214
infix2postfix::Parameter
Definition
AST.hpp:221
infix2postfix::Range
Definition
types.hpp:46
infix2postfix::Stmt
Definition
AST.hpp:260
infix2postfix::Symbol
Definition
Symbol.hpp:35
infix2postfix::Symbol::type
Type type
Definition
Symbol.hpp:38
infix2postfix::Symbol::name
std::string name
Definition
Symbol.hpp:37
infix2postfix::Symbol::is_used
bool is_used
Definition
Symbol.hpp:40
infix2postfix::Symbol::kind
SymbolKind kind
Definition
Symbol.hpp:36
infix2postfix::Symbol::definition_range
Range definition_range
Definition
Symbol.hpp:39
infix2postfix::Symbol::signature
const FunctionSignature * signature
Definition
Symbol.hpp:42
types.hpp
llvmexpr
frontend
infix2postfix
Symbol.hpp
Generated by
1.16.0