Bash++
Bash++ compiler internal documentation
Classes | Namespaces | Enumerations | Functions | Variables
bpp.h File Reference
#include <string>
#include <vector>
#include <unordered_map>
#include <memory>
#include <include/EntityMap.h>
#include <include/BashVersion.h>
#include <AST/Nodes/Program.h>
Include dependency graph for bpp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bpp::diagnostic
 Represents a diagnostic message (error, warning, info, hint) More...
 
struct  bpp::SymbolPosition
 
class  bpp::OwnedEntityList< T >
 

Namespaces

namespace  bpp
 

Enumerations

enum class  bpp::bpp_scope : uint8_t { bpp::SCOPE_PUBLIC , bpp::SCOPE_PROTECTED , bpp::SCOPE_PRIVATE , bpp::SCOPE_INACCESSIBLE }
 
enum class  bpp::reference_type : uint8_t { bpp::ref_primitive , bpp::ref_method , bpp::ref_object }
 
enum class  bpp::diagnostic_type : uint8_t { bpp::DIAGNOSTIC_ERROR , bpp::DIAGNOSTIC_WARNING , bpp::DIAGNOSTIC_INFO , bpp::DIAGNOSTIC_HINT }
 

Functions

bool bpp::is_protected_keyword (const std::string &keyword)
 Check if a string matches any of our protected keywords.
 
bool bpp::is_valid_identifier (const std::string &identifier)
 Check if a string is a valid identifier in Bash++.
 

Variables

static const char bpp::bpp_nullptr [] = "0"
 The secret internal value of '@nullptr' in Bash++.
 
constexpr std::array< std::string_view, 18 > bpp::protected_keywords
 A list of keywords that are reserved and cannot be used as identifiers in Bash++.