예제 #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));
        }