Como todo analizador sintáctico de contexto libre, la misión de ICE es analizar sentencias de un lenguaje generado por una gramática donde N es el conjunto de símbolos no terminales, es el conjunto de terminales, P son las reglas y S el el símbolo inicial.
El modelo operacional es el de un traductor a pila o PDT en el cual a partir de una configuración inicial (estado inicial, pila vacía, cadena de entrada completa y cadena de salida vacía) se van aplicando transiciones hasta alcanzar una configuración final (estado final y/o pila vacía, nada por analizar en la cadena de entrada y cadena de salida completa) que representa el resultado de un proceso de computación con éxito. Una sentencia ambigua para la gramática provocará la existencia de varios caminos (secuencias de transiciones) válidos desde la configuración inicial hasta la final. La configuración final puede no ser única ya que diferentes caminos probablemente generarán diferentes cadenas de salida y además puede haber más de un estado final.
En el análisis de sentencias ambiguas, la compartición de computaciones es un problema fundamental. Sin embargo, en un PDT tradicional el formalismo de transiciones depende del contenido total de la pila con lo cual se reducen las posibilidades de compartición. Es por ello precisamente por lo que dicha estructura recibe la denominación de . Para resolver este problema ICE hace uso de de estructuras dinámicas, introducidas originalmente en [Villemonte de la Clergerie 90] para el desarrollo de compiladores lógicos eficientes y aplicadas al análisis de contexto libre en [Vilares 92].
ICE realiza una interpretación mediante programación dinámica de un PDT consistente en la exploración sistemática de un espacio de elementos que reciben el nombre de items. Este espacio de búsqueda es una representación condensada de todas las posibles computaciones del PDT. ICE garantiza que realmente se exploran todas las partes útiles del espacio de búsqueda (completitud) y que las partes redundantes o inútiles se ignoran todo lo que sea posible (admisibilidad). Se puede probar [Vilares 92, Vilares 93] que la representación de configuraciones mediante items es compatible con el formalismo de transiciones y que la corrección y completitud de computaciones con los items se verifican en relación a .
En la práctica, sólo se suelen considerar las estructuras dinámicas y . Ambas construyen items a partir de la noción de modo. Un modo es una tupla de 4 elementos () donde p es el estado actual en el PDT, X es el último símbolo (terminal o no terminal) reconocido en el estado p, es un puntero, llamado back-pointer, a la posición i de la cadena de entrada w que contiene el primer componente léxico derivado del símbolo X, mientras que es un puntero a la posición j en la cadena de entrada del componente léxico que está siendo analizado. se diferencia de en que considera los items como estructuras formadas por un único modo , mientras que para los items están formados por dos modos de la forma [()()]. Esto quiere decir básicamente que utiliza el tope de la pila para representar la configuración actual, mientras que utiliza el tope y su predecesor en la pila.
A fin de garantizar la eficiencia en un contexto no determinista, es preciso asegurar una buena compartición de computaciones. Es por ello que ICE hace uso de , ya que no se puede considerar que sea óptima debido a la continua dependencia del contexto representado por el segundo modo de los items.