| ►NAST | |
| CArrayAssignment | |
| CArrayIndex | |
| CASTNode | 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 |
| CBaseListener | CRTP base class for AST listeners. CRTP is a kind of language hack that makes static polymorphism possible in C++ |
| CBash53NativeSupershell | |
| CBashArithmeticForCondition | 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 |
| CBashArithmeticForStatement | Represents a Bash arithmetic for loop statement. E.g., for (( i=0; i<10; i++ )); do ...; done |
| CBashArithmeticStatement | 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 |
| CBashArithmeticSubstitution | |
| CBashCaseInput | |
| CBashCasePattern | |
| CBashCasePatternHeader | Represents the 'header' of a case pattern, i.e., the pattern to match against |
| CBashCaseStatement | |
| CBashCommand | |
| CBashCommandSequence | |
| CBashForStatement | |
| CBashFunction | |
| CBashIfCondition | |
| CBashIfElseBranch | |
| CBashIfRootBranch | |
| CBashIfStatement | |
| CBashInCondition | Represents a Bash 'in' condition used in for loops and select statements |
| CBashPipeline | |
| CBashppParser | 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 |
| CBashRedirection | |
| CBashSelectStatement | |
| CBashTestConditionCommand | |
| CBashUntilStatement | |
| CBashVariable | |
| CBashWhileOrUntilCondition | |
| CBashWhileStatement | |
| CBlock | |
| CClassDefinition | |
| CConnective | |
| CConstructorDefinition | |
| CDatamemberDeclaration | |
| CDeleteStatement | |
| CDestructorDefinition | |
| CDoublequotedString | |
| CDynamicCast | |
| CDynamicCastTarget | |
| CFilePosition | |
| CHeredocBody | |
| CHereString | |
| CIncludeStatement | |
| ►CMethodDefinition | |
| CParameter | |
| CNewStatement | |
| CObjectAssignment | |
| CObjectInstantiation | |
| CObjectReference | |
| CParameterExpansion | |
| CParserError | |
| CPointerDeclaration | |
| CPrimitiveAssignment | |
| CProcessSubstitution | |
| CProgram | |
| CRawSubshell | |
| CRawText | |
| CRvalue | |
| CStringType | Base class for string-type nodes in the AST |
| CSubshellSubstitution | |
| CSupershell | |
| CToken | A class representing a token in the Bash++ AST. Tokens store their value along with line and column information |
| CTypeofExpression | |
| CValueAssignment | |
| ►Nbpp | |
| ►NErrorHandling | |
| CErrorOrWarning | |
| CInternalError | An exception thrown when an internal error occurs |
| CSyntaxError | 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 |
| CWarning | 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 |
| Cbash_case | A case statement in Bash++ |
| Cbash_case_pattern | A pattern for a case statement in Bash++ |
| Cbash_command_sequence | A sequence of bash commands connected by '&&' and '||' |
| Cbash_for_or_select | A for loop or select statement in Bash++ |
| Cbash_function | A normal Bash function |
| Cbash_if | An if statement in Bash++ |
| Cbash_if_branch | A branch of an if statement in Bash++ |
| Cbash_while_or_until_condition | The condition for a while/until loop in Bash++ |
| Cbash_while_or_until_loop | A while/until loop in Bash++ |
| ►CBashppServer | The main server class for handling LSP requests and notifications |
| CDebounceState | |
| CDebounceStateMap | |
| Cbpp_class | A class in Bash++ |
| Cbpp_code_entity | An entity which can contain code |
| Cbpp_datamember | A data member in a class |
| Cbpp_delete_statement | A delete statement in Bash++ |
| Cbpp_dynamic_cast_statement | A dynamic_cast statement in Bash++ |
| Cbpp_dynamic_cast_target | The target of a dynamic_cast in Bash++ |
| Cbpp_entity | The base class for all entities in the Bash++ compiler |
| Cbpp_method | A method in a class |
| Cbpp_method_parameter | A parameter in a method |
| Cbpp_object | An object in Bash++ |
| Cbpp_object_assignment | An object assignment statement in Bash++ |
| Cbpp_object_reference | An object reference in Bash++ |
| Cbpp_program | The main program |
| Cbpp_string | The practical difference between bpp_code_entity and bpp_string is how we handle the code buffers |
| Cbpp_value_assignment | A value assignment statement in Bash++ |
| Ccode_segment | A struct to hold (compiled) code segments |
| Cdiagnostic | Represents a diagnostic message (error, warning, info, hint) |
| ►Centity_reference | Represents the result of resolving a reference to an entity |
| Creference_error | |
| CSymbolPosition | |
| CArguments | Represents the parsed command-line arguments given to the compiler |
| CBashppListener | The main listener class for the Bash++ compiler |
| CBashVersion | Represents a Bash version to target for code generation |
| CContextExpectations | Represents the expectations for the current parsing context |
| CEntityMap | A map of file positions to Bash++ container entities |
| CExpectationsStack | A stack to manage ContextExpectations during AST traversal |
| CFilePosition | Represents a position in a source file by line and column |
| CFixedString | |
| ►CFlatIntervalTree | A specialized implementation of an Interval Tree optimized for Bash++'s particular use case |
| CInterval | |
| CNullBuffer | |
| CNullOStream | |
| CNullOStringStream | |
| COption | Represents a command-line option for the Bash++ compiler |
| 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 |
| CSnapshot | |
| CThreadPool | A thread pool implementation that manages a pool of worker threads to execute tasks concurrently |