anyone know of any links that could help me with this? I've read the man pages on YACC and lex and im still a bit lost...here's what i have so far..

YACC part...
Code:
%{
#include <stdio.h>

int at_end = 0;
extern int yychar;
%}

%token CD GETENV SETENV SETPROMPT EXIT SYSTEM WORD
%start cmd

%%
cmd:            CD WORD                         {chdir($2.sval); YYACCEPT;}
        |       GETENV                          {getenv(); YYACCEPT;}
        |       SETENV                          {setenv(); YYACCEPT;}
        |       EXIT                            {exit(1); YYACCEPT;}
        |       ';'                             {
%%
lex part:

Code:
%{
#nclude "y.tab.h"
extern int yylval;
%}


%%
cd                                                              return CD;
$[A-Za-z]+                                                      return GETENV;
setenv                                                          return SETENV;
setprompt                                                       return SETPROMPT;
exit                                                            return EXIT;
[a-zA-Z\/.]                                                     {strcpy(yyval.sval, yytext) return WORD;}
.                                                               return yytext[0];
%%
any help would be appreciated