La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1469 - INTÉRPRETE DE COMANDOS
Autor:  José Luis Risco Martín
Hola, me gustaría obtener información de cómo es la metodología más fácil de hacer un intérprete de comandos, por ejemplo al teclear en una caja de texto (arg1,arg2,...,argn) me ejecute cierta función. Lo he intentado programar a base de sscanf y otras funciones, pero es muy pesado. Gracias.

  Respuesta:  José Luis Torres Pantoja
Saludos desde México
La forma más eficiente que puedes utilizar es por medio de un analizador léxico y sintáctico. Para diseñarlo no es tan difícil como parece, además existen herramientas alternativas como lex y yacc que te generan código en C para analizar la gramática que definiste si deseas saber cómo hacer un analizador sencillo yo te puedo hayudar, tengo código fuente en C/C++ para DOS, si deseas saber acerca de lex y yacc te puedo mandar sólo información ya que apenas estoy aprendiendo a utilizarlos.

  Respuesta:  J RC
Construir un intérprete de comandos no es una tarea sencilla, y requiere de mucho tiempo. La forma más habitual (y la mejor, por supuesto) es construir un analizador léxico y sintáctico, con cualquiera de las metodologías existentes, leyendo carácter a carácter una sola cadena que contiene todo el comando, y una vez reconocido se puede llamar a la función asociada.