##// END OF EJS Templates
fixed DFA optimization, JSON is fully functional
fixed DFA optimization, JSON is fully functional

File last commit:

r177:a0ff6a0e9c44 ref20160224
r183:4f82e0f161c3 ref20160224
Show More
ScannerContext.cs
30 lines | 865 B | text/x-csharp | CSharpLexer
cin
refactoring
r177 namespace Implab.Formats {
/// <summary>
/// Represents a scanner configuration usefull to recongnize token, based on the DFA.
/// </summary>
cin
rewritten the text scanner
r176 public class ScannerContext<TTag> {
cin
refactoring
r177
cin
rewritten the text scanner
r176 public int[,] Dfa { get; private set; }
cin
refactoring
r177
cin
rewritten the text scanner
r176 public bool[] Final { get; private set; }
cin
refactoring
r177
cin
rewritten the text scanner
r176 public TTag[][] Tags { get; private set; }
cin
refactoring
r177
cin
rewritten the text scanner
r176 public int State { get; private set; }
cin
refactoring
r177
cin
rewritten the text scanner
r176 public int[] Alphabet { get; private set; }
public ScannerContext(int[,] dfa, bool[] final, TTag[][] tags, int state, int[] alphabet) {
Dfa = dfa;
Final = final;
Tags = tags;
State = state;
Alphabet = alphabet;
}
public bool Execute(TextScanner scanner, out TTag[] tag) {
return scanner.ReadToken(Dfa, Final, Tags, State, Alphabet, out tag);
}
}
}