VapourSynth-llvmexpr
Loading...
Searching...
No Matches
Builtins.hpp
Go to the documentation of this file.
1
19
20
#ifndef LLVMEXPR_FRONTEND_INFIX2POSTFIX_BUILTINS_HPP
21
#define LLVMEXPR_FRONTEND_INFIX2POSTFIX_BUILTINS_HPP
22
23
#include "
AST.hpp
"
24
#include "
CodeGenerator.hpp
"
25
#include "
types.hpp
"
26
27
#include <functional>
28
#include <map>
29
#include <optional>
30
#include <string>
31
#include <vector>
32
33
namespace
infix2postfix
{
34
35
struct
CallExpr
;
// Forward declaration
36
37
struct
BuiltinFunction
{
38
std::string
name
;
39
int
arity
;
40
std::optional<Mode>
mode_restriction
;
41
std::vector<Type>
param_types
;
42
std::function<
PostfixBuilder
(
CodeGenerator
*,
const
CallExpr
&)>
43
special_handler
=
nullptr
;
44
bool
returns_value
=
true
;
45
};
46
47
const
std::map<std::string, std::vector<BuiltinFunction>>&
48
get_builtin_functions
();
49
50
}
// namespace infix2postfix
51
52
#endif
// LLVMEXPR_FRONTEND_INFIX2POSTFIX_BUILTINS_HPP
AST.hpp
CodeGenerator.hpp
infix2postfix::CodeGenerator
Definition
CodeGenerator.hpp:46
infix2postfix::PostfixBuilder
Definition
PostfixBuilder.hpp:30
infix2postfix
Definition
AnalysisEngine.cpp:29
infix2postfix::get_builtin_functions
const std::map< std::string, std::vector< BuiltinFunction > > & get_builtin_functions()
Definition
Builtins.cpp:400
infix2postfix::BuiltinFunction
Definition
Builtins.hpp:37
infix2postfix::BuiltinFunction::param_types
std::vector< Type > param_types
Definition
Builtins.hpp:41
infix2postfix::BuiltinFunction::returns_value
bool returns_value
Definition
Builtins.hpp:44
infix2postfix::BuiltinFunction::mode_restriction
std::optional< Mode > mode_restriction
Definition
Builtins.hpp:40
infix2postfix::BuiltinFunction::special_handler
std::function< PostfixBuilder(CodeGenerator *, const CallExpr &)> special_handler
Definition
Builtins.hpp:43
infix2postfix::BuiltinFunction::arity
int arity
Definition
Builtins.hpp:39
infix2postfix::BuiltinFunction::name
std::string name
Definition
Builtins.hpp:38
infix2postfix::CallExpr
Definition
AST.hpp:85
types.hpp
llvmexpr
frontend
infix2postfix
Builtins.hpp
Generated by
1.16.0