▼NGyoji | All aspects of the Gyoji language belong in this namespace |
▼Nanalysis | Analysis pass performs checks to ensure semantic consistency |
CAnalysisPass | Abstract interface to analysis passes |
CAnalysisPassBorrowChecker | Performs the borrow-checker algorithm |
CAnalysisPassReturnValues | Performs checks for return-value consistency |
CAnalysisPassTypeResolution | Check that all types have been fully declared before use |
CAnalysisPassUnreachable | Checks for the existence of unreachable code |
CAnalysisPassVariableScopePairing | This pass ensures that every variable that has been declared is also paired with an un-declare |
▼Ncontext | The context namespace deals with objects that should last the entire scope of compilation |
CCompilerContext | Compiler Context |
CError | An error reported during compilation |
CErrorMessage | Message about a specific location in the code |
CErrors | Container for errors reported |
CSourceReference | References a location in the source-file |
CToken | Represents a token read from the input stream |
CTokenStream | Stream of tokens read by the parser to provide context for errors |
▼Nfrontend | This is the front-end to the Gyoji parser |
▼Nast | Abstract syntax tree |
CSyntaxNode | Weakly-typed syntax node |
▼Nlowering | Converts the strongly-typed syntax tree into the MIR representation |
CFunctionDefinitionResolver | Lowering for a function |
CFunctionLabel | A named label inside a scope |
CFunctionPoint | Location inside a specific basic block |
CFunctionResolver | Resolves all functions found in the MIR |
CScope | Represents variable declarations, labels, and goto inside a lexical scope |
CScopeOperation | Primitive operation in a scope |
CScopeTracker | Tracks variables declared in each scope along with abels and goto statements in a highly simplified intermediate representation |
CTypeResolver | The TypeResolver is the lowering process for types. This function reads the result of a parse and produces the set of types defined or referenced by it. This is essentially the process of 'lowering' for types where each user-defined type is decomposed to a set of canonical primitive types specified by the language so that in the end, code-generation can operate only on those primitive types at the machine level. At the end of this, every type should be defined in terms of primitive types (u32, f32,...), composite types (flattened) and pointer types (represented as a u64) |
▼Ntree | Strongly-typed syntax tree |
CAccessModifier | Declares PUBLIC, PROTECTED, or PRIVATE access to functions and members |
CAccessQualifier | This indicates the type of access that may be permitted as UNSPECIFIED, CONST, or VOLATILE |
CClassDeclaration | |
CFileStatement | |
CFileStatementFunctionDeclaration | Represents the declaration of a function |
CFileStatementList | |
CFunctionDefinitionArg | Represents an argument in a function definition |
CFunctionDefinitionArgList | Represents the list of arguments to a function definition |
CStatementBlock | Represents a block of statements in a particular scope |
CStatementExpression | This represents a statement in a function or scope that computes an expression |
CStatementIfElse | This represents an if condition in one of several forms |
CStatementVariableDeclaration | Represents the declaration of a variable inside the scope of a function or block |
CStatementWhile | Represents a 'while' statement in a function or scope |
CTerminal | Represents tokens from the lexer used to represent keywords and identifiers found in the source |
CTerminalNonSyntax | Represents whitespace, comments, and metadata for the source file |
CTranslationUnit | Represents the top-level syntax unit for a source file |
CTypeName | Represents the name of a type |
CTypeSpecifier | Represents a type being specified |
CTypeSpecifierCallArgs | Represents arguments to a template type |
CTypeSpecifierFunctionPointer | Represents a pointer to a function |
CTypeSpecifierPointerTo | Represents an unsafe poniter to a specific type |
CTypeSpecifierReferenceTo | Represents a safe reference to a specific type |
CTypeSpecifierSimple | Represents a simple type |
CTypeSpecifierTemplate | Represents a type with type-arguments modifying the type's definition |
CUnsafeModifier | Represents the safety/borrow check semantics for a function or block |
CParser | |
CParseResult | |
▼Nmir | Middle intermediate representation (MIR) of a translation unit |
CArgument | Function argument |
CBasicBlock | Basic block of a function |
CFunction | Function inside a translation unit |
CFunctionArgument | A single named argument to a function |
CFunctions | Container for functions |
CMIR | The middle-tier intermediate representation (MIR) of a translation unit |
COperation | Operations inside basic blocks, the virtual instruction-set of the MIR |
COperationArrayIndex | This subclass of OperationBinary represents indexing an array |
COperationBinary | This subclass of Operation represents a binary operation |
COperationCast | This subclass of OperationUnary represents a cast operation |
COperationDot | This subclass of Operation is used to access member variables of classes and other aggregate types by reference |
COperationFunctionCall | Function call (invoke) operation |
COperationJump | Unconditional Jump |
COperationJumpConditional | This operation represents a conditional jump |
COperationLiteralBool | Literal bool |
COperationLiteralChar | Literal character |
COperationLiteralFloat | Literal float |
COperationLiteralInt | Literal integer |
COperationLiteralNull | Literal null |
COperationLiteralString | Literal string |
COperationLocalDeclare | Declare a local variable in scope |
COperationLocalUndeclare | Un-declare a variable (remove it from scope) |
COperationLocalVariable | Load a local variable |
COperationReturn | Return from a function with a value |
COperationReturnVoid | Return from a function without a value |
COperationSizeofType | The operation for obtaining the storage size of a type |
COperationSymbol | Symbol-table lookup |
COperationUnary | This subclass of Operation represents a unary operation |
CSymbol | A symbol defined globally inside a namespace |
CSymbols | Symbol table for the intermediate representation (MIR) |
CType | This represents a type as declared in a translation unit |
CTypeMember | This represents a typed member variable of a class |
CTypeMethod | Method of a class |
CTypes | Set of types extracted from a translation unit |