JS / CC es un software independiente de la plataforma que une:
- Un generador de analizador léxico basado en expresiones regulares que coincide con tokens individuales de la secuencia de caracteres de entrada
- Un generador de analizador LALR (1), que calcula las tablas de análisis para una especificación de gramática libre de contexto dada para construir un analizador de trabajo independiente.
La gramática libre de contexto alimentada a JS / CC se define en un metalenguaje basado en Backus-Naur-Form, y permite evaluar la inserción de código semántico individual en la reducción de una regla. JS / CC en sí se ha escrito completamente en JavaScript, por lo que puede ejecutarse de muchas maneras diferentes: como JavaScript independiente de la plataforma, basado en navegador incrustado en un sitio web, como una aplicación interpretada por Mozilla / Rhino o Java Nashorn, o un shell Node script en Windows, * nix, Linux y Mac OSX. Esta versión es capaz de ensamblar un compilador completo a partir de una especificación de analizador JS / CC, que luego se genera en un archivo fuente .js JavaScript.
Para usar JS / CC y para comprender sus aspectos internos y su comportamiento, se asume un cierto conocimiento de las gramáticas libres de contexto, las técnicas de análisis ascendente y la teoría de la construcción del compilador, en general.
Licencia
JS / CC fue escrito inicialmente por Jan Max Meyer (Phorward Software Technologies) con contribuciones de Louis P. Santillan y Sergiy Shatunov. JS / CC se publica bajo los términos y condiciones de la licencia BSD de 3 cláusulas.