|
Mercury library
1.0
Translation of CFG grammars into an object model (Bachelor's thesis).
|
Mercury.Syntax.IScanner implementation that behaves like container of scanners using the Composite Design Pattern. More...
Public Member Functions | |
| CompositeScanner () | |
| Creates an empty Composite scanner. More... | |
| CompositeScanner (IEnumerable< IScanner > scanners) | |
| Creates a scanner initialized by source scanners. More... | |
| IScanner | Add (IScanner scanner) |
| Adds the specified scanner to the container. If the scanner is already present, this method will have no effect. More... | |
| IScanner | Remove (IScanner scanner) |
| Removes the scanner from the container. More... | |
| IEnumerable< Rule > | Scan (IEnumerable< Token > tokens) |
| Scans input tokens and creates additional rules for parsing. More... | |
| IEnumerator< IScanner > | GetEnumerator () |
Mercury.Syntax.IScanner implementation that behaves like container of scanners using the Composite Design Pattern.
When Scan method is called, it internally calls all scanners and concatenates their outputs.
Definition at line 42 of file Scanner.cs.
| Mercury.Syntax.CompositeScanner.CompositeScanner | ( | ) |
Creates an empty Composite scanner.
Definition at line 53 of file Scanner.cs.
| Mercury.Syntax.CompositeScanner.CompositeScanner | ( | IEnumerable< IScanner > | scanners | ) |
Creates a scanner initialized by source scanners.
| scanners | The source scanners |
Definition at line 60 of file Scanner.cs.
Adds the specified scanner to the container. If the scanner is already present, this method will have no effect.
| scanner | The scanner. |
Definition at line 72 of file Scanner.cs.
| IEnumerator<IScanner> Mercury.Syntax.CompositeScanner.GetEnumerator | ( | ) |
Definition at line 100 of file Scanner.cs.
Removes the scanner from the container.
| scanner | The scanner. |
Definition at line 83 of file Scanner.cs.
Scans input tokens and creates additional rules for parsing.
| tokens | Input tokens. |
Implements Mercury.Syntax.IScanner.
Definition at line 93 of file Scanner.cs.
1.8.7