CompareTo() public method

public CompareTo ( char value ) : int
value char
return int
        public void analizarSilaba(Char silaba, Boolean EOF)
        {
            switch (estado)
            {
                case 0:
                    if (aceptaTodo)
                    {
                        if (perteneceATodo(silaba))
                        {
                            estado = 6;
                            valorLexema = valorLexema + silaba;
                        }
                        else if (silaba.CompareTo('\'') == 0)
                        {
                            //Tener cuidado con esto, otra posiblidad es aceptarlo de un solo.
                            estado = 5;
                        }
                        else
                        {
                            rutinaError("No puedes empezar una etiqueta, porque hay una cadena abierta.");
                        }
                    }
                    else if (silaba.CompareTo('{') == 0)
                    {
                        estado = 1;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('}') == 0)
                    {
                        estado = 2;
                        valorLexema += silaba;
                    }
                    else if (Char.IsLetter(silaba))
                    {
                        estado = 3;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo(',') == 0)
                    {
                        estado = 4;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('\'') == 0)
                    {
                        estado = 5;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('+') == 0 || silaba.CompareTo('-') == 0)
                    {
                        estado = 7;
                        valorLexema += silaba;
                    }
                    else if (Char.IsDigit(silaba))
                    {
                        estado = 8;
                        valorLexema += silaba;
                    }
                    else if (esSeparador(silaba))
                    {
                        estado = 0;
                    }
                    else
                    {
                        valorLexema = "" +silaba;
                        rutinaError("El símbolo no comienza ninguna ER");
                        lector.avanzar();
                    }
                    break;
                case 1:
                    lector.retroceder();
                    rutinaAceptación(tokenLlaveAbierta);
                    break;
                case 2:
                    lector.retroceder();
                    rutinaAceptación(tokenLlaveCerrada);
                    if (stringAbierto > 0)
                        aceptaTodo = true;
                    break;
                case 3:
                    if (Char.IsLetter(silaba))
                    {
                        estado = 3;
                        valorLexema += silaba;
                    }
                    else if (char.IsDigit(silaba))
                    {
                        estado = 3;
                        valorLexema += silaba;
                    }
                    else
                    {
                        lector.retroceder();
                        int tokenRTmp = esReservada(valorLexema);
                        if (tokenRTmp != 300)
                        {
                            rutinaAceptación(tokenRTmp);
                        }
                        else
                        {
                            rutinaAceptación(tokenVariable);
                        }

                    }
                    break;
                case 4:
                    lector.retroceder();
                    rutinaAceptación(tokenComa);
                    break;
                case 5:
                    if (perteneceATodo(silaba))
                    {
                        estado = 9;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('\'') == 0)
                    {
                        estado = 10;

                    }
                    else
                    {
                        rutinaError("Debes escribir algo antes de iniciar otra ER");
                    }
                    break;
                case 6:
                    if (perteneceATodo(silaba))
                    {
                        estado = 6;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('\'') == 0)
                    {
                        estado = 11;
                        valorLexema += silaba;
                    }
                    else
                    {
                        aceptaTodo = false;
                        lector.retroceder();
                        rutinaAceptación(tokenString);
                    }
                    break;
                case 7:
                    if (Char.IsDigit(silaba))
                    {
                        estado = 8;
                        valorLexema += silaba;
                    }
                    else
                    {
                        rutinaError("Esperaba un dígito pero vino:" + silaba);
                    }
                    break;
                case 8:
                    if (Char.IsDigit(silaba))
                    {
                        estado = 8;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('.') == 0)
                    {
                        estado = 12;
                        valorLexema += silaba;
                    }
                    else
                    {
                        lector.retroceder();
                        rutinaAceptación(tokenEntero);
                    }
                    break;
                case 9:
                     if (EOF)
                    {
                        lector.retroceder();
                        rutinaAceptación(tokenString);
                    }
                    else if (perteneceATodo(silaba))
                    {
                        estado = 9;
                        valorLexema += silaba;
                    }
                    else if (silaba.CompareTo('\'') == 0)
                    {
                        estado = 10;
                        valorLexema += silaba;
                    }
                    else
                    {
                        lector.retroceder();
                        rutinaAceptación(tokenString);
                        stringAbierto++;
                    }
                    break;
                case 10:
                    lector.retroceder();
                    int tokenCTmp = esColor(valorLexema);
                    int tokenPTmp = esPosicion(valorLexema);

                    if (tokenCTmp != 600)
                    {
                        rutinaAceptación(tokenCTmp);
                    }
                    else if (tokenPTmp != 900)
                    {
                        rutinaAceptación(tokenPTmp);
                    }
                    else
                    {
                        rutinaAceptación(tokenString);
                    }
                    break;
                case 11:
                    lector.retroceder();
                    rutinaAceptación(tokenString);
                    aceptaTodo = false;
                    stringAbierto--;
                    break;
                case 12:
                    if (Char.IsDigit(silaba))
                    {
                        estado = 13;
                        valorLexema += silaba;
                    }
                    else
                    {
                        rutinaError("Esperaba un dígito pero vino: " + silaba);
                    }
                    break;
                case 13:
                    if (Char.IsDigit(silaba))
                    {
                        estado = 13;
                        valorLexema += silaba;
                    }
                    else
                    {
                        lector.retroceder();
                        rutinaAceptación(tokenReal);
                    }
                    break;

            }
        }
 private Boolean perteneceATodo(Char silaba)
 {
     Boolean respuesta = true;
     if (silaba.CompareTo('\'') == 0 || silaba.CompareTo('{') == 0)
         respuesta = false;
     return respuesta;
 }