Estoy trabajando en un shell, un pequeño shell como bash, sin secuencias de comandos (si es que ...) Tengo que hacer el analizador/analizador (LL) por mano.Cómo escribir un lexer (shell) a mano
Así que el analizador léxico transformará el comando (char * cmd) a una lista enlazada (t_list * Lista). Y el analizador LL transformará la lista enlazada (t_list * Lista) a un AST (árbol binario t_btree * raíz) con un grammar
lo tanto, sé cómo hacer que el analizador sintáctico LL pero don' Sé cómo tokenizar mi comando.
Por ejemplo: ps | grep ls >> file ; make && ./a.out
=>'ps' '|' 'grep' 'ls' '>>' 'file' ';' ''make '&&' './a.out'
Gracias.
(no quiero utilizar cualquier generador)
¿qué es lo que tiene hasta ahora? ¿Dónde estás atrapado? – Mat
Dado que etiquetó esto como "C simple", parece que debe apuntar a un bucle sobre la cadena de comandos usando llamadas repetidas a 'strchr (cmd, '')' o algo de esa naturaleza. – phooji
'¿estado/máquina de estado del' estado? – Spudd86