Mercurial > pub > ImplabNet
view Implab/Parsing/CDFADefinition.cs @ 89:ce0171cacec4 v2
improved performance of a chained map operation
author | cin |
---|---|
date | Wed, 08 Oct 2014 02:19:45 +0400 |
parents | c0bf853aa04f |
children | 97fbbf816844 |
line wrap: on
line source
using Implab; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Implab.Parsing { public class CDFADefinition : DFADefinitionBase { Alphabet m_alphabet; public Alphabet Alphabet { get { return m_alphabet; } } public override int AlphabetSize { get { return m_alphabet.Count; } } public CDFADefinition(Alphabet alphabet): base() { Safe.ArgumentNotNull(alphabet, "alphabet"); m_alphabet = alphabet; } public CDFADefinition Optimize() { var optimized = new CDFADefinition(new Alphabet()); Optimize(optimized, m_alphabet, optimized.Alphabet); return optimized; } public void PrintDFA() { PrintDFA(m_alphabet); } } }