User Guide
token_mapping.cpp File Reference
#include <cstring>
#include <map>
#include <vector>
#include "ast/ast.hpp"
#include "lexer/modl.h"
#include "lexer/token_mapping.hpp"
#include "parser/nmodl/nmodl_parser.hpp"

Go to the source code of this file.

Classes

class  nmodl::details::MethodInfo
 Information about integration method. More...
 

Namespaces

 nmodl
 encapsulates code generation backend implementations
 
 nmodl::details
 details of lexer tokens
 

Functions

bool nmodl::details::needs_neuron_thread_first_arg (const std::string &token)
 Checks if token is one of the functions coming from NEURON/CoreNEURON and needs passing NrnThread* as first argument (typical name of variable nt) More...
 
TokenType nmodl::details::keyword_type (const std::string &name)
 Return token type for the keyword. More...
 
bool nmodl::is_keyword (const std::string &name)
 Check if given name is a keyword in NMODL. More...
 
bool nmodl::is_method (const std::string &name)
 Check if given name is an integration method in NMODL. More...
 
TokenType nmodl::token_type (const std::string &name)
 Return token type for given token name. More...
 
std::vector< std::string > nmodl::get_external_variables ()
 Return variables declared in NEURON that are available to NMODL. More...
 
std::vector< std::string > nmodl::get_external_functions ()
 Return functions that can be used in the NMODL. More...
 

Variables

const static std::map< std::string, TokenTypenmodl::details::keywords
 Keywords from NMODL language. More...
 
const static std::map< std::string, MethodInfo > nmodl::details::methods
 Integration methods available in the NMODL. More...
 
const static std::vector< std::string > nmodl::details::extern_definitions
 
const static std::vector< std::string > nmodl::details::need_nt = {"at_time"}
 
static const std::vector< std::string > nmodl::details::NEURON_VARIABLES
 Variables from NEURON that are directly used in NMODL. More...