public PeekableScanner(ScannerInfo scannerInfo) { CodeContract.RequiresArgumentNotNull(scannerInfo, "scannerInfo"); m_lookAheadQueue = new CacheQueue<Lexeme>(); m_masterScanner = new Scanner(scannerInfo); }
public ForkableScannerBuilder(ScannerInfo info) { CodeContract.RequiresArgumentNotNull(info, "info"); m_info = info; m_triviaTokens = new int[0]; }
public ForkableScannerBuilder(ScannerInfo info) { CodeContract.RequiresArgumentNotNull(info, "info"); m_info = info; m_triviaTokens = new int[0]; }
public PeekableScanner(ScannerInfo scannerInfo) { CodeContract.RequiresArgumentNotNull(scannerInfo, "scannerInfo"); m_lookAheadQueue = new CacheQueue <Lexeme>(); m_masterScanner = new Scanner(scannerInfo); }
internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string content) { m_scannerInfo = scannerInfo; m_stateIndex = state; Value = new LexemeValue(content, span); m_trivia = s_emptyTrivia; }
internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string value, int skippedTokenCount) { m_scannerInfo = scannerInfo; m_stateIndex = state; Span = span; Value = value; SkippedTokenCount = skippedTokenCount; }
internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string content) { m_scannerInfo = scannerInfo; m_stateIndex = state; Value = new LexemeValue(content, span); m_trivia = s_emptyTrivia; }
public Scanner(ScannerInfo scannerInfo) { m_scannerInfo = scannerInfo; m_engine = new FiniteAutomationEngine(m_scannerInfo.TransitionTable, m_scannerInfo.CharClassTable); m_lexemeValueBuilder = new StringBuilder(32); m_tokenAttributes = new int[scannerInfo.TokenCount]; Initialize(); }
public Scanner(ScannerInfo scannerInfo) { m_scannerInfo = scannerInfo; m_engine = new FiniteAutomationEngine(m_scannerInfo.TransitionTable, m_scannerInfo.CharClassTable); m_lexemeValueBuilder = new StringBuilder(32); m_tokenAttributes = new int[scannerInfo.TokenCount]; Initialize(); }
private void SetUpScanner() { var lexcion = new Lexicon(); var lexer = lexcion.Lexer; PLUS = lexer.DefineToken(RE.Symbol('+')); ASTERISK = lexer.DefineToken(RE.Symbol('*')); LEFT_PARENTHESIS = lexer.DefineToken(RE.Symbol('(')); RIGHT_PARENTHESIS = lexer.DefineToken(RE.Symbol(')')); NUMBER = lexer.DefineToken(RE.Range('0', '9').Many1(), "number"); SPACE = lexer.DefineToken(RE.Symbol(' ').Many1()); m_scannerInfo = lexcion.CreateScannerInfo(); }
internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string content, List <Lexeme> trivia) { m_scannerInfo = scannerInfo; m_stateIndex = state; Value = new LexemeValue(content, span); if (trivia != null) { m_triviaArray = trivia.ToArray(); m_trivia = new ReadOnlyCollection <Lexeme>(m_triviaArray); } else { m_triviaArray = null; m_trivia = new ReadOnlyCollection <Lexeme>(s_emptyTrivia); } }
internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string content, List<Lexeme> trivia) { m_scannerInfo = scannerInfo; m_stateIndex = state; Value = new LexemeValue(content, span); if (trivia != null) { m_triviaArray = trivia.ToArray(); m_trivia = new ReadOnlyCollection<Lexeme>(m_triviaArray); } else { m_triviaArray = null; m_trivia = new ReadOnlyCollection<Lexeme>(s_emptyTrivia); } }