Beispiel #1
0
 public TokenTransition(AssemblyTerminalCases assemblyTerminals, CommonSymbolCases commonSymbols, TypeIdParserTokens captures)
     : this()
 {
     this.assemblyTerminals = assemblyTerminals;
     this.commonSymbols     = commonSymbols;
     this.captures          = captures;
 }
Beispiel #2
0
        public static TokenTransition ExclusiveOr(TokenTransition left, TokenTransition right)
        {
            AssemblyTerminalCases assemblyTerminals = ~((left.assemblyTerminals & right.assemblyTerminals));
            CommonSymbolCases     commonSymbols     = ~((left.commonSymbols & right.commonSymbols));
            TypeIdParserTokens    captures          = ~((left.captures & right.captures));

            // Because some goofball relied on CodeDOM early on, no BitwiseExOr operator is available.
            return(new TokenTransition((assemblyTerminals & (left.assemblyTerminals | right.assemblyTerminals)), (commonSymbols & (left.commonSymbols | right.commonSymbols)), (captures & (left.captures | right.captures))));
        }
Beispiel #3
0
 /// <summary>
 /// Resets the state machine to its default state.
 /// </summary>
 public void Reset(CommonSymbolCases allowedCommonSymbols)
 {
     this.AllowedCommonSymbols = allowedCommonSymbols;
     this.exitState            = ExitStates.None;
     this.state = 0;
 }
Beispiel #4
0
 public void AddCommonSymbols(CommonSymbolCases CommonSymbols)
 {
     this.Add(new SubsetEntry(SubsetField.CommonSymbolCases, ((int)(CommonSymbols))));
 }
Beispiel #5
0
 public TokenTransition(CommonSymbolCases commonSymbols)
     : this(AssemblyTerminalCases.None, commonSymbols, TypeIdParserTokens.None)
 {
 }