public Atributo(string nombre, string valor, IDTokens tipoDato, string acceso) { _Nombre = nombre; _Acceso = acceso; switch (tipoDato) { case IDTokens.NumeroInt: _TipoDato = TypeDato.Int; _Valor = valor; break; case IDTokens.NumeroFlt: _TipoDato = TypeDato.Float; _Valor = valor; break; case IDTokens.Caracter: _TipoDato = TypeDato.Char; _Valor = valor; break; default: _TipoDato = TypeDato.Empty; _Valor = valor; break; } }
private void PReservadas(Type infoEnum, IDTokens asignToken) { foreach (var item in Enum.GetNames(infoEnum)) { _PReservadas.Add(item.ToLower(), asignToken); } }
protected bool IsMatch(IDTokens id, Action doBefore = null) { if (_ID == id) { doBefore?.Invoke(); Match(id); return(true); } return(false); }
protected IDTokens Match(IDTokens id) { if (id == _ID) { NextTokenTrue(); return(id); } else { throw new InvalidDataException( String.Format("Se espera {0}, en la Linea {1}, Columna {2}", id.ToString(), _Fila, _Columna)); } }
private void NewNodo(IDTokens valor, int cantidad) { List <int> listaNodos; bool newKey; listaNodos = (newKey = !_NodosLex.TryGetValue(valor, out listaNodos)) ? new List <int>() { 0 } : listaNodos; for (int i = 0; i < cantidad; i++) { listaNodos.Add(_GrafoTokens.Add(valor)); } if (newKey) { _NodosLex.Add(valor, listaNodos); } }