コード例 #1
0
ファイル: NFAState.cs プロジェクト: rkc100/VBF
        internal void AddEmptyEdgeTo(NFAState targetState)
        {
            CodeContract.RequiresArgumentNotNull(targetState, "targetState");

            m_outEdges.Add(new NFAEdge(targetState));
        }
コード例 #2
0
ファイル: DFAModel.cs プロジェクト: jiangzhen/VBF
        private void ConvertLexcionToNFA()
        {
            //Compact transition char set
            CompactCharSetManager = m_lexicon.CreateCompactCharSetManager();
            NFAConverter converter = new NFAConverter(CompactCharSetManager);

            NFAState entryState = new NFAState();
            NFAModel lexerNFA = new NFAModel();

            lexerNFA.AddState(entryState);
            foreach (var token in m_lexicon.GetTokens())
            {
                NFAModel tokenNFA = token.CreateFiniteAutomatonModel(converter);

                entryState.AddEdge(tokenNFA.EntryEdge);
                lexerNFA.AddStates(tokenNFA.States);
            }

            lexerNFA.EntryEdge = new NFAEdge(entryState);

            m_nfa = lexerNFA;
        }
コード例 #3
0
ファイル: NFAEdge.cs プロジェクト: rkc100/VBF
 public NFAEdge(int symbol, NFAState targetState)
     : this()
 {
     Symbol = symbol;
     TargetState = targetState;
 }
コード例 #4
0
ファイル: NFAEdge.cs プロジェクト: rkc100/VBF
 public NFAEdge(NFAState targetState)
     : this()
 {
     TargetState = targetState;
 }
コード例 #5
0
ファイル: NFAModel.cs プロジェクト: rkc100/VBF
 internal void AddState(NFAState state)
 {
     m_states.Add(state);
     state.Index = m_states.Count - 1;
 }
コード例 #6
0
ファイル: NFAEdge.cs プロジェクト: zyangpointer/VBF
 public NFAEdge(NFAState targetState)
     : this()
 {
     TargetState = targetState;
 }
コード例 #7
0
ファイル: NFAEdge.cs プロジェクト: zyangpointer/VBF
 public NFAEdge(int symbol, NFAState targetState)
     : this()
 {
     Symbol      = symbol;
     TargetState = targetState;
 }
コード例 #8
0
ファイル: NFAModel.cs プロジェクト: zxs1215/VBF
 internal void AddState(NFAState state)
 {
     m_states.Add(state);
     state.Index = m_states.Count - 1;
 }
コード例 #9
0
        internal void AddEmptyEdgeTo(NFAState targetState)
        {
            CodeContract.RequiresArgumentNotNull(targetState, "targetState");

            m_outEdges.Add(new NFAEdge(targetState));
        }