Mercurial > pub > ImplabNet
diff Implab/Formats/ScannerContext.cs @ 176:0c3c69fe225b ref20160224
rewritten the text scanner
author | cin |
---|---|
date | Tue, 22 Mar 2016 18:58:40 +0300 |
parents | |
children | a0ff6a0e9c44 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab/Formats/ScannerContext.cs Tue Mar 22 18:58:40 2016 +0300 @@ -0,0 +1,24 @@ +using System; + +namespace Implab.Formats { + public class ScannerContext<TTag> { + public int[,] Dfa { get; private set; } + public bool[] Final { get; private set; } + public TTag[][] Tags { get; private set; } + public int State { get; private set; } + 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); + } + } +} +