| CArguments | Represents the parsed command-line arguments given to the compiler |
| ►CAST::ASTNode | The 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::ArrayAssignment | |
| CAST::ArrayIndex | |
| CAST::Bash53NativeSupershell | |
| CAST::BashArithmeticForStatement | Represents a Bash arithmetic for loop statement. E.g., for (( i=0; i<10; i++ )); do ...; done |
| CAST::BashArithmeticSubstitution | |
| CAST::BashCaseInput | |
| CAST::BashCasePattern | |
| CAST::BashCaseStatement | |
| CAST::BashCommandSequence | |
| CAST::BashForStatement | |
| CAST::BashFunction | |
| CAST::BashIfCondition | |
| CAST::BashIfElseBranch | |
| CAST::BashIfRootBranch | |
| CAST::BashIfStatement | |
| CAST::BashSelectStatement | |
| CAST::BashUntilStatement | |
| CAST::BashVariable | |
| CAST::BashWhileOrUntilCondition | |
| CAST::BashWhileStatement | |
| CAST::Block | |
| CAST::ClassDefinition | |
| CAST::Connective | |
| CAST::ConstructorDefinition | |
| CAST::DatamemberDeclaration | |
| CAST::DeleteStatement | |
| CAST::DestructorDefinition | |
| CAST::DynamicCast | |
| CAST::DynamicCastTarget | |
| CAST::IncludeStatement | |
| CAST::MethodDefinition | |
| CAST::NewStatement | |
| CAST::ObjectAssignment | |
| CAST::ObjectInstantiation | |
| CAST::ObjectReference | |
| CAST::PointerDeclaration | |
| CAST::PrimitiveAssignment | |
| CAST::ProcessSubstitution | |
| CAST::Program | |
| CAST::RawSubshell | |
| CAST::RawText | |
| ►CAST::StringType | Base class for string-type nodes in the AST |
| CAST::BashArithmeticForCondition | Represents the condition part of a Bash arithmetic for loop E.g., in for (( i=0; i<10; i++ )), the entire "(( i=0; i<10; i++ ))" would be represented by a BashArithmeticForCondition node. Each of the three components would be represented by BashArithmeticStatement nodes as its children |
| CAST::BashArithmeticStatement | Represents a single arithmetic statement in an arithmetic for loop condition. E.g., in for (( i=0; i<10; i++ )), each of "i=0", "i<10", and "i++" would be represented by a BashArithmeticStatement node |
| CAST::BashCasePatternHeader | Represents the 'header' of a case pattern, i.e., the pattern to match against |
| CAST::BashCommand | |
| CAST::BashInCondition | Represents a Bash 'in' condition used in for loops and select statements |
| CAST::BashPipeline | |
| CAST::BashRedirection | |
| CAST::BashTestConditionCommand | |
| CAST::DoublequotedString | |
| CAST::HereString | |
| CAST::HeredocBody | |
| CAST::ParameterExpansion | |
| CAST::Rvalue | |
| CAST::SubshellSubstitution | |
| CAST::Supershell | |
| CAST::TypeofExpression | |
| CAST::ValueAssignment | |
| 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 > | |
| CBashppListener | The main listener class for the Bash++ compiler |
| CAST::BashppParser | A 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::BashppServer | The main server class for handling LSP requests and notifications |
| CBashVersion | Represents a Bash version to target for code generation |
| ►Cbpp::bpp_entity | The base class for all entities in the Bash++ compiler |
| Cbpp::bpp_class | A class in Bash++ |
| ►Cbpp::bpp_code_entity | An entity which can contain code |
| Cbpp::bash_case_pattern | A pattern for a case statement in Bash++ |
| Cbpp::bash_for_or_select | A for loop or select statement in Bash++ |
| Cbpp::bash_function | A normal Bash function |
| Cbpp::bash_if_branch | A branch of an if statement in Bash++ |
| Cbpp::bash_while_or_until_loop | A while/until loop in Bash++ |
| Cbpp::bpp_method | A method in a class |
| Cbpp::bpp_program | The main program |
| ►Cbpp::bpp_string | The practical difference between bpp_code_entity and bpp_string is how we handle the code buffers |
| Cbpp::bash_case | A case statement in Bash++ |
| Cbpp::bash_command_sequence | A sequence of bash commands connected by '&&' and '||' |
| Cbpp::bash_if | An if statement in Bash++ |
| Cbpp::bash_while_or_until_condition | The condition for a while/until loop in Bash++ |
| Cbpp::bpp_delete_statement | A delete statement in Bash++ |
| Cbpp::bpp_dynamic_cast_statement | A dynamic_cast statement in Bash++ |
| Cbpp::bpp_dynamic_cast_target | The target of a dynamic_cast in Bash++ |
| Cbpp::bpp_object_assignment | An object assignment statement in Bash++ |
| Cbpp::bpp_object_reference | An object reference in Bash++ |
| Cbpp::bpp_value_assignment | A value assignment statement in Bash++ |
| Cbpp::bpp_method_parameter | A parameter in a method |
| ►Cbpp::bpp_object | An object in Bash++ |
| Cbpp::bpp_datamember | A data member in a class |
| Cbpp::code_segment | A struct to hold (compiled) code segments |
| CContextExpectations | Represents the expectations for the current parsing context |
| Cbpp::BashppServer::DebounceState | |
| Cbpp::BashppServer::DebounceStateMap | |
| Cbpp::diagnostic | Represents a diagnostic message (error, warning, info, hint) |
| ►Cstd::enable_shared_from_this | |
| CBashppListener | The main listener class for the Bash++ compiler |
| Cbpp::bpp_class | A class in Bash++ |
| Cbpp::bpp_program | The main program |
| Cbpp::entity_reference | Represents the result of resolving a reference to an entity |
| CEntityMap | A map of file positions to Bash++ container entities |
| CExpectationsStack | A stack to manage ContextExpectations during AST traversal |
| CAST::FilePosition | |
| CFilePosition | Represents 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::OptionSequence | Represents a sequence of parsed options and non-option arguments |
| CXGetOpt::Helpers::OptionView | |
| ►Cstd::ostream | |
| CNullOStream | |
| ►Cstd::ostringstream | |
| CNullOStringStream | |
| CAST::MethodDefinition::Parameter | |
| CXGetOpt::ParsedOption | Represents a parsed command-line option and its associated argument (if any) |
| CAST::ParserError | |
| CParserLocation | Represents a range in a source file, from a start position to an end position |
| CParserPosition | Represents a single point in a source file |
| CProgramPool | Manages a pool of bpp_program objects for efficient reuse and access |
| Cbpp::entity_reference::reference_error | |
| ►Cstd::runtime_error | |
| ►Cbpp::ErrorHandling::ErrorOrWarning | |
| Cbpp::ErrorHandling::SyntaxError | An exception thrown when a syntax error is encountered This exception can be constructed from any listener that satisfies the ErrorReportableListener concept, along with an AST node or token that satisfies the ASTNodePtrORToken concept. When thrown, the exception can be caught and printed to display a formatted syntax error message |
| Cbpp::ErrorHandling::Warning | A compiler warning that is not fatal to compilation This type should never be thrown. Instead, it should be constructed and displayed via the print() method. Throwing it would halt compilation, which is not desired for warnings. This class likewise can be constructed from any listener that satisfies the ErrorReportableListener concept, along with an AST node or token that satisfies the ASTNodePtrORToken concept |
| Cbpp::ErrorHandling::InternalError | An exception thrown when an internal error occurs |
| CProgramPool::Snapshot | |
| ►Cstd::streambuf | |
| CNullBuffer | |
| Cbpp::SymbolPosition | |
| CXGetOpt::Helpers::TextView | A simple view over a text string |
| CThreadPool | A 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 > | |