Expand description
ferroui-markup-xaml-loader
The XAML language of the framework: the compiler extensions (language definition,
well-known types, AST nodes, transformers) that turn a parsed XAML document into the typed
AST the back ends consume. The crate builds on xamlx and mirrors the layout of the
upstream loader project module for module:
| Module | Upstream | Contents |
|---|---|---|
compiler_extensions | CompilerExtensions/ | language, well-known types, nodes, transformers |
parsers | Markup.Xaml/Parsers | parsers shared with the markup runtime |
back_end | (none) | what the interpreter and the emitter of Rust source share |
[testing] | (none) | the in-memory framework fixture for unit tests (feature testing) |
There is no IL back end. Types that generate IL upstream carry their data and document the
semantics a back end has to implement; see the table in compiler_extensions.
Modules§
- back_
end - What the run-time and the build-time back end share, read from the transformed AST alone.
What the two back ends share: the run-time back end (
crate::runtime, the interpreter of the transformed AST) and the build-time back end ([crate::rust_emitter], the emitter of Rust source over the same AST). - compiler_
extensions - Port of
Markup.Xaml.Loader/CompilerExtensions: the framework’s XAML language definition on top ofxamlx. - core_
table - The closed table of runtime library types, shared by the run-time and the build-time type system.
The closed table of runtime library (
System.*) types markup can name, as data: what both type systems of the compiler define from it (docs/porting/xaml.md, 9.5.1 and 9.5.5). - parsers
- Parsers shared by the XAML compiler extensions and the markup runtime.
- runtime
- The run-time back end: the run-time type system and the AST interpreter. The run-time back end of the XAML compiler.
Structs§
- Document
Group - The document of a class with the documents it includes
(
FerroRuntimeXamlLoader::document_group). - Ferro
Runtime Xaml Loader - Loads XAML at run time.
- Ferro
Xaml IlRuntime Compiler - Loads documents at run time.