Mercurial > pub > ImplabNet
comparison Implab/Formats/ScannerContext.cs @ 190:1c2a16d071a7 v2
Слияние с ref20160224
author | cin |
---|---|
date | Fri, 22 Apr 2016 13:08:08 +0300 |
parents | a0ff6a0e9c44 |
children |
comparison
equal
deleted
inserted
replaced
161:2a8466f0cb8a | 190:1c2a16d071a7 |
---|---|
1 namespace Implab.Formats { | |
2 /// <summary> | |
3 /// Represents a scanner configuration usefull to recongnize token, based on the DFA. | |
4 /// </summary> | |
5 public class ScannerContext<TTag> { | |
6 | |
7 public int[,] Dfa { get; private set; } | |
8 | |
9 public bool[] Final { get; private set; } | |
10 | |
11 public TTag[][] Tags { get; private set; } | |
12 | |
13 public int State { get; private set; } | |
14 | |
15 public int[] Alphabet { get; private set; } | |
16 | |
17 public ScannerContext(int[,] dfa, bool[] final, TTag[][] tags, int state, int[] alphabet) { | |
18 Dfa = dfa; | |
19 Final = final; | |
20 Tags = tags; | |
21 State = state; | |
22 Alphabet = alphabet; | |
23 } | |
24 | |
25 public bool Execute(TextScanner scanner, out TTag[] tag) { | |
26 return scanner.ReadToken(Dfa, Final, Tags, State, Alphabet, out tag); | |
27 } | |
28 } | |
29 } | |
30 |