Bash++
Bash++ compiler internal documentation
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CArgumentsRepresents the parsed command-line arguments given to the compiler
 CAST::ASTNodeThe base class for all non-terminal nodes in the Bash++ AST. Each ASTNode contains information about its type, children, and position in the source code
 CAST::BaseListener< Derived >CRTP base class for AST listeners. CRTP is a kind of language hack that makes static polymorphism possible in C++
 CAST::BaseListener< BashppListener >
 CAST::BashppParserA driver class to wrap around the Bison-generated parser for Bash++. This class manages both the lexer and parser state, and provides methods to set the input source
 Cbpp::BashppServerThe main server class for handling LSP requests and notifications
 CBashVersionRepresents a Bash version to target for code generation
 Cbpp::bpp_entityThe base class for all entities in the Bash++ compiler
 Cbpp::code_segmentA struct to hold (compiled) code segments
 CContextExpectationsRepresents the expectations for the current parsing context
 Cbpp::BashppServer::DebounceState
 Cbpp::BashppServer::DebounceStateMap
 Cbpp::diagnosticRepresents a diagnostic message (error, warning, info, hint)
 Cstd::enable_shared_from_this
 Cbpp::entity_referenceRepresents the result of resolving a reference to an entity
 CEntityMapA map of file positions to Bash++ container entities
 CExpectationsStackA stack to manage ContextExpectations during AST traversal
 CAST::FilePosition
 CFilePositionRepresents a position in a source file by line and column
 CFixedString< N >
 CXGetOpt::Helpers::FixedString< N >A fixed-size string class for compile-time string manipulation
 CXGetOpt::Helpers::FixedString< help_string_length >
 CFlatIntervalTree< T >A specialized implementation of an Interval Tree optimized for Bash++'s particular use case
 CFlatIntervalTree< std::shared_ptr< bpp::bpp_entity > >
 CFlatIntervalTree< T >::Interval
 CXGetOpt::Option< ShortOpt, LongOpt, Description, ArgReq, ArgumentPlaceholder >Compile-time representation of a command-line option
 CXGetOpt::OptionParser< Options >Parses command-line arguments based on a set of defined options
 CXGetOpt::OptionRemainder
 CXGetOpt::OptionSequenceRepresents a sequence of parsed options and non-option arguments
 CXGetOpt::Helpers::OptionView
 Cstd::ostream
 Cstd::ostringstream
 CAST::MethodDefinition::Parameter
 CXGetOpt::ParsedOptionRepresents a parsed command-line option and its associated argument (if any)
 CAST::ParserError
 CParserLocationRepresents a range in a source file, from a start position to an end position
 CParserPositionRepresents a single point in a source file
 CProgramPoolManages a pool of bpp_program objects for efficient reuse and access
 Cbpp::entity_reference::reference_error
 Cstd::runtime_error
 CProgramPool::Snapshot
 Cstd::streambuf
 Cbpp::SymbolPosition
 CXGetOpt::Helpers::TextViewA simple view over a text string
 CThreadPoolA thread pool implementation that manages a pool of worker threads to execute tasks concurrently
 CAST::Token< T >A class representing a token in the Bash++ AST. Tokens store their value along with line and column information
 CAST::Token< AccessModifier >
 CAST::Token< IncludeKeyword >
 CAST::Token< IncludeType >
 CAST::Token< std::string >