Ejemplo n.º 1
0
        private void LoadState(int state, MetaDslx.Languages.Soal.Syntax.InternalSyntax.SoalLexer lexer)
        {
            LanguageScannerState value = default(LanguageScannerState);

            this.states.TryGetValue(state, out value);
            value.Restore(lexer);
        }
Ejemplo n.º 2
0
        private int SaveState(MetaDslx.Languages.Soal.Syntax.InternalSyntax.SoalLexer lexer)
        {
            int result = 0;
            LanguageScannerState state = new LanguageScannerState(lexer);

            if (!this.inverseStates.TryGetValue(state, out result))
            {
                result = ++lastState;
                this.states.Add(result, state);
                this.inverseStates.Add(state, result);
            }
            return(result);
        }
Ejemplo n.º 3
0
            public override bool Equals(object obj)
            {
                LanguageScannerState rhs = (LanguageScannerState)obj;

                if (rhs._mode != this._mode)
                {
                    return(false);
                }
                if (rhs._type != this._type)
                {
                    return(false);
                }
                if (rhs._state != this._state)
                {
                    return(false);
                }
                if (rhs._channel != this._channel)
                {
                    return(false);
                }
                if (rhs._modeStack == null && this._modeStack != null)
                {
                    return(false);
                }
                if (rhs._modeStack != null && this._modeStack == null)
                {
                    return(false);
                }
                if (rhs._modeStack != null && this._modeStack != null)
                {
                    if (rhs._modeStack.Count != this._modeStack.Count)
                    {
                        return(false);
                    }
                    for (int i = 0; i < rhs._modeStack.Count; ++i)
                    {
                        if (rhs._modeStack[i] != this._modeStack[i])
                        {
                            return(false);
                        }
                    }
                }
                return(true);
            }
Ejemplo n.º 4
0
 private int SaveState(MetaDslx.Compiler.MetaModelLexer lexer)
 {
     int result = 0;
     LanguageScannerState state = new LanguageScannerState(lexer);
     if (!this.inverseStates.TryGetValue(state, out result))
     {
         result = ++lastState;
         this.states.Add(result, state);
         this.inverseStates.Add(state, result);
     }
     return result;
 }