Ejemplo n.º 1
0
        private Lexer(string text, TextReader reader, LexerBehavior behavior, LexerSettings settings)
        {
            if (settings == null)
            {
                settings = LexerSettings.Default;
            }
            else
            {
                settings = settings.Clone();
            }

            this.text     = text;
            this.reader   = reader;
            this.behavior = behavior;
            this.settings = settings;

            if (settings.Symbols != null)
            {
                foreach (KeyValuePair <string, int> entry in settings.Symbols)
                {
                    int len = entry.Key.Length;
                    if (len > maxSymLen)
                    {
                        maxSymLen = len;
                    }
                }
            }

            Reset();
        }