|
Mercury library
1.0
Translation of CFG grammars into an object model (Bachelor's thesis).
|
| ▼CMercury.Analyser< T, TResult > | Wrapper class for each step of analysis. |
| CMercury.Analyser< T > | Wrapper class for each step of analysis |
| CMercury.AnalyserResult< T, TResult > | Holds the result of analysis. The fields hold information according to the following table: |
| CMercury.Interpreting.Argument | Represents an argument passed to the Mercury.Interpreting.InterpreterAction{T}, the actual parameter given to the Mercury.Interpreting.Evaluator{T} in place of a formal parameter. |
| CMercury.Interpreting.BasicActions< T > | Contains basic actions for interpretation. Type specifiers of actions are defined as follows: |
| CMercury.Syntax.BasicScannerMap | Contains mapping between TokenType and Mercury.Syntax.Mapping of Mercury.Syntax.BasicScanner. |
| ▼CMercury.Interpreting.DataEntry | Entry base (dummy) interface. |
| CMercury.Interpreting.MemoEntry< T > | Represents memoized value |
| CMercury.Interpreting.RuleEntry< T > | Describes a rule that has been used to interpret a tree. |
| CMercury.Interpreting.TextEntry | Stores informations logged by actions or internal Evaluator. |
| CMercury.Interpreting.TreeEntry< T > | Represents an entry for tree interpretation. |
| CMercury.Defaults | Global class containing cool static / convenience stuff. |
| CMercury.Interpreting.EntryWriter< T > | An auxiliary class that formats the DataEntry structure and writes it into a stream. |
| ▼CException | |
| ►CMercury.Exceptions.MercuryException | An exception thrown by the Mercury library. |
| CMercury.Extensions | Provides extension methods for the Mercury library. |
| CMercury.Syntax.Grammar | Represents a Context-Free Grammar. This is an immutable class, to create a grammar use Mercury.Syntax.GrammarBuilder. |
| CMercury.Syntax.GrammarBuilder | Class that creates grammars. |
| ▼CIComparable< Edge > | |
| CMercury.Syntax.Edge | Represents an edge in the chart created by the ChartParser. This is an immutable class. The Edge contains four values: |
| ▼CIComparable< Rule > | |
| CMercury.Syntax.Rule | Represents a Context-Free Grammar rule. This is an immutable class |
| ▼CIComparable< Symbol > | |
| CMercury.Syntax.Symbol | Represents a single symbol of the grammar. This is an immutable class. For a symbol name to be valid it must NOT contain control or separator characters, must not be empty and must meet these conditions: |
| ▼CIComparable< Tree< T >> | |
| CMercury.Nucleus.Trees.Tree< T > | A non-balanced tree implementation that can be referenced from many other trees. Because of that, there is no way to get back to the parent node |
| ▼CIEnumerable | |
| CMercury.Nucleus.Trees.Tree< T > | A non-balanced tree implementation that can be referenced from many other trees. Because of that, there is no way to get back to the parent node |
| ▼CIEnumerable< Instance > | |
| CMercury.Interpreting.InstanceList | Represents the list of instances |
| ▼CIEnumerable< IScanner > | |
| CMercury.Syntax.CompositeScanner | Mercury.Syntax.IScanner implementation that behaves like container of scanners using the Composite Design Pattern |
| ▼CIEnumerable< KeyValuePair< TKey, TValue >> | |
| ►CMercury.Nucleus.Collections.IReadOnlyMultiDictionary< TKey, TValue > | Represents a multi-valued read-only dictionary, a map between a key and a collection of values. |
| ▼CIEnumerable< T > | |
| CMercury.Nucleus.Trees.Tree< T > | A non-balanced tree implementation that can be referenced from many other trees. Because of that, there is no way to get back to the parent node |
| ▼CIEnumerator | |
| CMercury.Nucleus.Trees.BFSTreeEnumerator< T > | Breadth-First Search tree enumerator |
| CMercury.Nucleus.Trees.DFSTreeEnumerator< T > | Depth-First Search tree enumerator |
| ▼CIEnumerator< T > | |
| CMercury.Nucleus.Trees.BFSTreeEnumerator< T > | Breadth-First Search tree enumerator |
| CMercury.Nucleus.Trees.DFSTreeEnumerator< T > | Depth-First Search tree enumerator |
| ▼CIEquatable< ActionCall< T >> | |
| CMercury.Interpreting.ActionCall< T > | This class represents the application of Mercury.Interpreting.InterpreterAction{T} on the Mercury.Interpreting.IFormalParameter list. |
| ▼CIEquatable< Alternative > | |
| ►CMercury.Interpreting.Alternative | Represents an alternative of elements. It may match specified symbols or symboltypes (Nonterminals, ...). |
| ▼CIEquatable< Constant > | |
| CMercury.Interpreting.Constant | Constant element. Basically equivalent of Mercury.Interpreting.Alternative. |
| ▼CIEquatable< ConstantParameter > | |
| CMercury.Interpreting.ConstantParameter | Constant parameter. |
| ▼CIEquatable< Edge > | |
| CMercury.Syntax.Edge | Represents an edge in the chart created by the ChartParser. This is an immutable class. The Edge contains four values: |
| ▼CIEquatable< IElement > | |
| ►CMercury.Interpreting.IElement | Element interface |
| ▼CIEquatable< Instance > | |
| CMercury.Interpreting.Instance | Represents a binding between a Mercury.Interpreting.Variable and its value |
| ▼CIEquatable< RewriteRule< T >> | |
| CMercury.Interpreting.RewriteRule< T > | Interpreter rewrite rule |
| ▼CIEquatable< Rule > | |
| CMercury.Syntax.Rule | Represents a Context-Free Grammar rule. This is an immutable class |
| ▼CIEquatable< Symbol > | |
| CMercury.Syntax.Symbol | Represents a single symbol of the grammar. This is an immutable class. For a symbol name to be valid it must NOT contain control or separator characters, must not be empty and must meet these conditions: |
| ▼CIEquatable< Token > | |
| CMercury.Scanning.Token | Token, a part of an input text recognized by tokenizer |
| ▼CIEquatable< Tree< T >> | |
| CMercury.Nucleus.Trees.Tree< T > | A non-balanced tree implementation that can be referenced from many other trees. Because of that, there is no way to get back to the parent node |
| ▼CIEquatable< Variable > | |
| CMercury.Interpreting.Variable | Represents a variable element that captures value and can be used on the RHS of the RewriteRule as an argument |
| ▼CIEquatable< VariableParameter > | |
| CMercury.Interpreting.VariableParameter | Represents a named parameter that will be replaced by an actual value of a variable captured by interpreter. |
| ▼CMercury.Interpreting.IFormalParameter | Represents formal parameters. |
| CMercury.Interpreting.ActionCall< T > | This class represents the application of Mercury.Interpreting.InterpreterAction{T} on the Mercury.Interpreting.IFormalParameter list. |
| CMercury.Interpreting.ConstantParameter | Constant parameter. |
| CMercury.Interpreting.VariableParameter | Represents a named parameter that will be replaced by an actual value of a variable captured by interpreter. |
| ▼CMercury.Interpreting.IInterpreter< T > | Interface for interpreters that create objects from derivation trees according to RewriteRules. |
| CMercury.Interpreting.Interpreter< T > | Interprets derivation trees using rewrite rules. The type parameter T represents the target language. |
| CMercury.Interpreting.SemanticInterpreter< T > | Represent the semantic analysis with interpretation. Consists of two interpreters, the first one rewrites parse trees, the second one interprets them. This class serves as a wrapper so it could be used in the Mercury.Analyser{T,TResult} class. |
| ▼CMercury.Interpreting.IInterpreterContextFactory | Factory of context. |
| CMercury.Interpreting.EmptyContextFactory | Produces contexts with no custom data |
| ▼CMercury.Interpreting.InterpreterAction< T > | Function that wraps constant values in the RHS |
| ►CMercury.Interpreting.GenericAction< T > | Represents an action that infers its return type only after it is provided with types of its arguments. |
| ►CMercury.Interpreting.InterpreterAction< T, U > | Interpreter action with a safer return type. |
| CMercury.Interpreting.InterpreterContext< T > | Interpreter Context class. Some languages may use it to override it and remember data when parse trees are being interpreted. |
| CMercury.Interpreting.InterpreterResult< T > | Result of the interpretation. |
| ▼CMercury.Syntax.IParser | Creates a derivation tree from the list of input tokens |
| CMercury.Syntax.ChartParser | Thread-safe wrapper for ChartParserInternal class. |
| ▼CIReadOnlyCollection< RewriteRule< T >> | |
| CMercury.Interpreting.RewriteRuleCollection< T > | A read-only collection of rewrite rules |
| ▼CMercury.Syntax.IScanner | Scanner scans input tokens and creates additional rules for parsing |
| CMercury.Syntax.BasicScanner | Generates four Nonterminals @Symbol, @Keyword, @Number and @String based on the given map and types of input tokens. |
| CMercury.Syntax.CompositeScanner | Mercury.Syntax.IScanner implementation that behaves like container of scanners using the Composite Design Pattern |
| ▼CMercury.Scanning.ITokenizer | The tokenizer interface. |
| CMercury.Scanning.Tokenizer | A default implementation of ITokenizer interface using Microsoft Regular Expressions. Splits tokens in the following fashion: |
| CMercury.LanguageInfo< T > | Represents a collection of information required to analyze a language with Mercury Mercury.Analyser{T,TValue}. |
| CMercury.Syntax.ParserResult | Represents the result returned by the parser. |
| CMercury.Interpreting.RewriteRuleCollectionBuilder< T > | Can be used to construct Mercury.Interpreting.RewriteRuleCollection{T} |
| ▼CTree< IElement > | |
| CMercury.Interpreting.Structure | Represents a tree of Mercury.Interpreting.IElement instances. Must match precisely to the parse tree. |
1.8.7