#include "parser.h"
#include "lexer.h"
#include "builtin.h"
#include "system.h"
#include "term.h"
#include "context.h"
Go to the source code of this file.
|
#define | MAKE_TYPE(type_name) {type_name, Term::Create(TermID::TYPE, type_name)} |
|
#define | DEFINE_CASE(name, _) |
|
|
static const std::map< const std::string, const TermPtr > | default_types |
|
static const TermPtr | type_default_none = default_types.find(":None")->second |
|
static const TermPtr | type_default_any = default_types.find(":Any")->second |
|
static const TermPtr | term_none = Term::Create(TermID::NAME, "_", parser::token_type::NAME) |
|
static const TermPtr | term_ellipsys = Term::Create(TermID::ELLIPSIS, "...", parser::token_type::ELLIPSIS) |
|
static const TermPtr | term_required = Term::Create(TermID::NONE, "_", parser::token_type::END) |
|
static const ObjPtr | obj_none = Obj::CreateNone() |
|
static const Variable | var_none = Variable(obj_none) |
|
static const ObjPtr | obj_ellipsys = Obj::CreateType(ObjType::Ellipsis, ObjType::Ellipsis, true) |
|
static const VariablePtr | var_ellipsys = std::make_shared<Variable>(obj_ellipsys) |
|
static const VariablePair | var_none_pair = VariablePair{term_none, var_none} |
|
◆ MAKE_TYPE
#define MAKE_TYPE |
( |
| type_name | ) |
{type_name, Term::Create(TermID::TYPE, type_name)} |
◆ DEFINE_CASE
#define DEFINE_CASE |
( |
| name, |
|
|
| _ ) |
Value: else if (type.compare(":"#name) == 0) { \
return ObjType:: name; \
}
◆ __attribute__()
◆ default_types
const std::map<const std::string, const TermPtr> default_types |
|
static |
Initial value:{
{
":Dictionary",
Term::Create(TermID::TYPE,
":Dictionary")} ,
static TermPtr Create(TermID id, const char *text, parser::token_type lex_type=parser::token_type::END, size_t len=std::string::npos, location *loc=nullptr, std::shared_ptr< std::string > source=nullptr)
Definition at line 983 of file parser.cpp.
Referenced by newlang::getDefaultType().
◆ type_default_none
const TermPtr type_default_none = default_types.find(":None")->second |
|
static |
◆ type_default_any
const TermPtr type_default_any = default_types.find(":Any")->second |
|
static |
◆ term_none
const TermPtr term_none = Term::Create(TermID::NAME, "_", parser::token_type::NAME) |
|
static |
◆ term_ellipsys
const TermPtr term_ellipsys = Term::Create(TermID::ELLIPSIS, "...", parser::token_type::ELLIPSIS) |
|
static |
◆ term_required
const TermPtr term_required = Term::Create(TermID::NONE, "_", parser::token_type::END) |
|
static |
◆ obj_none
const ObjPtr obj_none = Obj::CreateNone() |
|
static |
◆ var_none
◆ obj_ellipsys
const ObjPtr obj_ellipsys = Obj::CreateType(ObjType::Ellipsis, ObjType::Ellipsis, true) |
|
static |
◆ var_ellipsys
◆ var_none_pair