before merge master
This commit is contained in:
parent
cdfc6c6d55
commit
ca56489f13
27 changed files with 17 additions and 846 deletions
|
|
@ -1,19 +0,0 @@
|
||||||
do en condition, aller a la fin
|
|
||||||
verifier les delimiters
|
|
||||||
impleter erreur syntax : EOF, unexpected do, unexpected done, pareil if
|
|
||||||
|
|
||||||
pipe_sequence
|
|
||||||
|
|
||||||
';;' sep
|
|
||||||
'; ;' sep-newline_list-sep
|
|
||||||
' ; ' newline-sep
|
|
||||||
'ls | cat ; ls | cat' line break and_or separator and_or
|
|
||||||
|
|
||||||
';;' sep-sep
|
|
||||||
';&' sep-sep
|
|
||||||
'&&' and_or "no_command"
|
|
||||||
'||' and_or "no_command"
|
|
||||||
|
|
||||||
|
|
||||||
while compound_list do compound_list done
|
|
||||||
linebreak term
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#SEPARATOR
|
|
||||||
|
|
||||||
separator - separator : 0
|
|
||||||
separator - sequential_sep : 0
|
|
||||||
separator - separator_op : 0
|
|
||||||
separator - linebreak : 0
|
|
||||||
separator - newline_list : 0
|
|
||||||
separator - here_end : 0
|
|
||||||
separator - io_here : 0
|
|
||||||
separator - filename : 0
|
|
||||||
separator - io_file : 0
|
|
||||||
separator - io_redirect : 0
|
|
||||||
separator - redirect_list : 0
|
|
||||||
separator - cmd_suffix : 0
|
|
||||||
separator - cmd_prefix : 0
|
|
||||||
separator - cmd_word : 0
|
|
||||||
separator - cmd_name : 0
|
|
||||||
separator - simple_commound : 0
|
|
||||||
separator - do_group : 0
|
|
||||||
separator - brace_group : 0
|
|
||||||
separator - fname : 0
|
|
||||||
separator - function_body : 0
|
|
||||||
separator - function_definition : 0
|
|
||||||
separator - until_clause : 0
|
|
||||||
separator - while_clause : 0
|
|
||||||
separator - else_part : 0
|
|
||||||
separator - if_clause : 0
|
|
||||||
separator - pattern : 0
|
|
||||||
separator - case_item : 0
|
|
||||||
separator - case_item_ns : 0
|
|
||||||
separator - case_list : 0
|
|
||||||
separator - case_list_ns : 0
|
|
||||||
separator - case_clause : 0
|
|
||||||
separator - wordlist : 0
|
|
||||||
separator - in : 0
|
|
||||||
separator - name : 0
|
|
||||||
separator - term : 0
|
|
||||||
separator - compound_list : 0
|
|
||||||
separator - subshell : 0
|
|
||||||
separator - compound_command : 0
|
|
||||||
separator - command : 0
|
|
||||||
separator - pipe_sequence : 0
|
|
||||||
separator - pipeline : 0
|
|
||||||
separator - and_or : 0
|
|
||||||
separator - list : 0
|
|
||||||
separator - complete_command : 0
|
|
||||||
separator - complete_commands : 0
|
|
||||||
separator - program : 0
|
|
||||||
separator - In : 0
|
|
||||||
#separator - Lbrace : 0
|
|
||||||
#separator - Rbrace : 0
|
|
||||||
#separator - Bang : 0
|
|
||||||
separator - case : 0
|
|
||||||
separator - esac : 0
|
|
||||||
separator - while : 0
|
|
||||||
separator - until : 0
|
|
||||||
separator - for : 0
|
|
||||||
separator - if : 0
|
|
||||||
separator - then : 0
|
|
||||||
separator - else : 0
|
|
||||||
separator - elif : 0
|
|
||||||
separator - fi : 0
|
|
||||||
separator - do : 0
|
|
||||||
separator - done : 0
|
|
||||||
separator - CLOBBER : 0
|
|
||||||
separator - DLESS : 0
|
|
||||||
separator - DGREAT : 0
|
|
||||||
separator - LESSAND : 0
|
|
||||||
separator - GREATAND : 0
|
|
||||||
separator - LESSGREAT : 0
|
|
||||||
separator - DLESSDAH : 0
|
|
||||||
separator - AND_IF : 0
|
|
||||||
separator - OR_IF : 0
|
|
||||||
separator - DSEMI : 0
|
|
||||||
separator - WORD : 0
|
|
||||||
separator - ASSIGNEMENT_WORD : 0
|
|
||||||
separator - NAME : 0
|
|
||||||
separator - NEWLINE : 0
|
|
||||||
separator - IO_NUMER : 0
|
|
||||||
separator - SEMI : 0
|
|
||||||
separator - AMP : 0
|
|
||||||
separator - EMPTY : 0
|
|
||||||
separator - GREAT : 0
|
|
||||||
separator - LESS : 0
|
|
||||||
separator - PAREN_OPEN : 0
|
|
||||||
separator - PIPE : 0
|
|
||||||
separator - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#HERE_END
|
|
||||||
|
|
||||||
here_end - here_end : 0
|
|
||||||
here_end - sequential_sep : 0
|
|
||||||
here_end - separator_op : 0
|
|
||||||
here_end - linebreak : 0
|
|
||||||
here_end - newline_list : 0
|
|
||||||
here_end - separator : 0
|
|
||||||
here_end - io_here : 0
|
|
||||||
here_end - filename : 0
|
|
||||||
here_end - io_file : 0
|
|
||||||
here_end - io_redirect : 0
|
|
||||||
here_end - redirect_list : 0
|
|
||||||
here_end - cmd_suffix : 0
|
|
||||||
here_end - cmd_prefix : 0
|
|
||||||
here_end - cmd_word : 0
|
|
||||||
here_end - cmd_name : 0
|
|
||||||
here_end - simple_commound : 0
|
|
||||||
here_end - do_group : 0
|
|
||||||
here_end - brace_group : 0
|
|
||||||
here_end - fname : 0
|
|
||||||
here_end - function_body : 0
|
|
||||||
here_end - function_definition : 0
|
|
||||||
here_end - until_clause : 0
|
|
||||||
here_end - while_clause : 0
|
|
||||||
here_end - else_part : 0
|
|
||||||
here_end - if_clause : 0
|
|
||||||
here_end - pattern : 0
|
|
||||||
here_end - case_item : 0
|
|
||||||
here_end - case_item_ns : 0
|
|
||||||
here_end - case_list : 0
|
|
||||||
here_end - case_list_ns : 0
|
|
||||||
here_end - case_clause : 0
|
|
||||||
here_end - wordlist : 0
|
|
||||||
here_end - in : 0
|
|
||||||
here_end - name : 0
|
|
||||||
here_end - term : 0
|
|
||||||
here_end - compound_list : 0
|
|
||||||
here_end - subshell : 0
|
|
||||||
here_end - compound_command : 0
|
|
||||||
here_end - command : 0
|
|
||||||
here_end - pipe_sequence : 0
|
|
||||||
here_end - pipeline : 0
|
|
||||||
here_end - and_or : 0
|
|
||||||
here_end - list : 0
|
|
||||||
here_end - complete_command : 0
|
|
||||||
here_end - complete_commands : 0
|
|
||||||
here_end - program : 0
|
|
||||||
here_end - In : 0
|
|
||||||
#here_end - Lbrace : 0
|
|
||||||
#here_end - Rbrace : 0
|
|
||||||
#here_end - Bang : 0
|
|
||||||
here_end - case : 0
|
|
||||||
here_end - esac : 0
|
|
||||||
here_end - while : 0
|
|
||||||
here_end - until : 0
|
|
||||||
here_end - for : 0
|
|
||||||
here_end - if : 0
|
|
||||||
here_end - then : 0
|
|
||||||
here_end - else : 0
|
|
||||||
here_end - elif : 0
|
|
||||||
here_end - fi : 0
|
|
||||||
here_end - do : 0
|
|
||||||
here_end - done : 0
|
|
||||||
here_end - CLOBBER : 0
|
|
||||||
here_end - DLESS : VALID - AGGREGATION k = 1, new = io_here
|
|
||||||
here_end - DGREAT : 0
|
|
||||||
here_end - LESSAND : 0
|
|
||||||
here_end - GREATAND : 0
|
|
||||||
here_end - LESSGREAT : 0
|
|
||||||
here_end - DLESSDAH : VALID - AGGREGATION k = 1, new = io_here
|
|
||||||
here_end - AND_IF : 0
|
|
||||||
here_end - OR_IF : 0
|
|
||||||
here_end - DSEMI : 0
|
|
||||||
here_end - WORD : 0
|
|
||||||
here_end - ASSIGNEMENT_WORD : 0
|
|
||||||
here_end - NAME : 0
|
|
||||||
here_end - NEWLINE : 0
|
|
||||||
here_end - IO_NUMER : 0
|
|
||||||
here_end - SEMI : 0
|
|
||||||
here_end - AMP : 0
|
|
||||||
here_end - EMPTY : 0
|
|
||||||
here_end - GREAT : 0
|
|
||||||
here_end - LESS : 0
|
|
||||||
here_end - PAREN_OPEN : 0
|
|
||||||
here_end - PIPE : 0
|
|
||||||
here_end - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#IO_HERE
|
|
||||||
|
|
||||||
io_here - io_here : 0
|
|
||||||
io_here - sequential_sep : 0
|
|
||||||
io_here - separator_op : 0
|
|
||||||
io_here - linebreak : VALID - AGGREGATION k = 1, new = program
|
|
||||||
io_here - newline_list : 0
|
|
||||||
io_here - here_end : 0
|
|
||||||
io_here - separator : 0
|
|
||||||
io_here - filename : 0
|
|
||||||
io_here - io_file : 0
|
|
||||||
io_here - io_redirect : 0
|
|
||||||
io_here - redirect_list : VALID - NOTHING
|
|
||||||
io_here - cmd_suffix : VALID - NOTHING
|
|
||||||
io_here - cmd_prefix : VALID - NOTHING
|
|
||||||
io_here - cmd_word : VALID - AGGREGATION k = 0, new = cmd_suffix
|
|
||||||
io_here - cmd_name : VALID - AGGREGATION k = 0, new = cmd_suffix
|
|
||||||
io_here - simple_command : 0
|
|
||||||
io_here - do_group : 0
|
|
||||||
io_here - brace_group : 0
|
|
||||||
io_here - fname : 0
|
|
||||||
io_here - function_body : 0
|
|
||||||
io_here - function_definition : 0
|
|
||||||
io_here - until_clause : 0
|
|
||||||
io_here - while_clause : 0
|
|
||||||
io_here - else_part : 0
|
|
||||||
io_here - if_clause : 0
|
|
||||||
io_here - pattern : 0
|
|
||||||
io_here - case_item : 0
|
|
||||||
io_here - case_item_ns : 0
|
|
||||||
io_here - case_list : 0
|
|
||||||
io_here - case_list_ns : 0
|
|
||||||
io_here - case_clause : 0
|
|
||||||
io_here - wordlist : 0
|
|
||||||
io_here - in : 0
|
|
||||||
io_here - name : 0
|
|
||||||
io_here - term : 0
|
|
||||||
io_here - compound_list : 0
|
|
||||||
io_here - subshell : 0
|
|
||||||
io_here - compound_command : 0
|
|
||||||
io_here - command : 0
|
|
||||||
io_here - pipe_sequence : 0
|
|
||||||
io_here - pipeline : 0
|
|
||||||
io_here - and_or : 0
|
|
||||||
io_here - list : 0
|
|
||||||
io_here - complete_command : 0
|
|
||||||
io_here - complete_commands : 0
|
|
||||||
io_here - program : 0
|
|
||||||
io_here - In : 0
|
|
||||||
#io_here - Lbrace : 0
|
|
||||||
#io_here - Rbrace : 0
|
|
||||||
#io_here - Bang : 0
|
|
||||||
io_here - case : 0
|
|
||||||
io_here - esac : 0
|
|
||||||
io_here - while : 0
|
|
||||||
io_here - until : 0
|
|
||||||
io_here - for : 0
|
|
||||||
io_here - if : 0
|
|
||||||
io_here - then : 0
|
|
||||||
io_here - else : 0
|
|
||||||
io_here - elif : 0
|
|
||||||
io_here - fi : 0
|
|
||||||
io_here - do : 0
|
|
||||||
io_here - done : 0
|
|
||||||
io_here - CLOBBER : 0
|
|
||||||
io_here - DLESS : 0
|
|
||||||
io_here - DGREAT : 0
|
|
||||||
io_here - LESSAND : 0
|
|
||||||
io_here - GREATAND : 0
|
|
||||||
io_here - LESSGREAT : 0
|
|
||||||
io_here - DLESSDAH : 0
|
|
||||||
io_here - AND_IF : 0
|
|
||||||
io_here - OR_IF : 0
|
|
||||||
io_here - DSEMI : 0
|
|
||||||
io_here - WORD : 0
|
|
||||||
io_here - ASSIGNEMENT_WORD : 0
|
|
||||||
io_here - NAME : 0
|
|
||||||
io_here - NEWLINE : 0
|
|
||||||
io_here - IO_NUMBER : VALID - AGREGATION k = 1, new = io_redirect
|
|
||||||
io_here - SEMI : 0
|
|
||||||
io_here - AMP : 0
|
|
||||||
io_here - EMPTY : 0
|
|
||||||
io_here - GREAT : 0
|
|
||||||
io_here - LESS : 0
|
|
||||||
io_here - PAREN_OPEN : 0
|
|
||||||
io_here - PIPE : 0
|
|
||||||
io_here - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#LINEBREAK#
|
|
||||||
|
|
||||||
linebreak - linebreak : NOTHING
|
|
||||||
linebreak - sequential_sep : 0
|
|
||||||
linebreak - separator_op : AGGREGATION, k = 1, new = separator
|
|
||||||
linebreak - separator : 0
|
|
||||||
linebreak - newline_list : 0
|
|
||||||
linebreak - here_end : 0
|
|
||||||
linebreak - io_here : 0
|
|
||||||
linebreak - filename : 0
|
|
||||||
linebreak - io_file : 0
|
|
||||||
linebreak - io_redirect : 0
|
|
||||||
linebreak - redirect_list : 0
|
|
||||||
linebreak - cmd_suffix : 0
|
|
||||||
linebreak - cmd_prefix : 0
|
|
||||||
linebreak - cmd_word : 0
|
|
||||||
linebreak - cmd_name : 0
|
|
||||||
linebreak - simple_commound : 0
|
|
||||||
linebreak - do_group : 0
|
|
||||||
linebreak - brace_group : 0
|
|
||||||
linebreak - fname : 0
|
|
||||||
linebreak - function_body : 0
|
|
||||||
linebreak - function_definition : 0
|
|
||||||
linebreak - until_clause : 0
|
|
||||||
linebreak - while_clause : 0
|
|
||||||
linebreak - else_part : 0
|
|
||||||
linebreak - if_clause : 0
|
|
||||||
linebreak - pattern : 0
|
|
||||||
linebreak - case_item : 0
|
|
||||||
linebreak - case_item_ns : 0
|
|
||||||
linebreak - case_list : 0
|
|
||||||
linebreak - case_list_ns : 0
|
|
||||||
linebreak - case_clause : 0
|
|
||||||
linebreak - wordlist : 0
|
|
||||||
linebreak - in : VALID
|
|
||||||
linebreak - name : VALID
|
|
||||||
linebreak - term : 0
|
|
||||||
linebreak - compound_list : VALID
|
|
||||||
linebreak - subshell : 0
|
|
||||||
linebreak - compound_command : 0
|
|
||||||
linebreak - command : 0
|
|
||||||
linebreak - pipe_sequence : 0
|
|
||||||
linebreak - pipeline : 0
|
|
||||||
linebreak - and_or : 0
|
|
||||||
linebreak - list : 0
|
|
||||||
linebreak - complete_command : 0
|
|
||||||
linebreak - complete_commands : VALID
|
|
||||||
linebreak - program : 0
|
|
||||||
linebreak - In : 0
|
|
||||||
#linebreak - Lbrace : 0
|
|
||||||
#linebreak - Rbrace : 0
|
|
||||||
#linebreak - Bang : 0
|
|
||||||
linebreak - case : 0
|
|
||||||
linebreak - esac : 0
|
|
||||||
linebreak - while : 0
|
|
||||||
linebreak - until : 0
|
|
||||||
linebreak - for : 0
|
|
||||||
linebreak - if : 0
|
|
||||||
linebreak - then : 0
|
|
||||||
linebreak - else : 0
|
|
||||||
linebreak - elif : 0
|
|
||||||
linebreak - fi : 0
|
|
||||||
linebreak - do : 0
|
|
||||||
linebreak - done : 0
|
|
||||||
linebreak - CLOBBER : 0
|
|
||||||
linebreak - DLESS : 0
|
|
||||||
linebreak - DGREAT : 0
|
|
||||||
linebreak - LESSAND : 0
|
|
||||||
linebreak - GREATAND : 0
|
|
||||||
linebreak - LESSGREAT : 0
|
|
||||||
linebreak - DLESSDAH : 0
|
|
||||||
i linebreak - AND_IF : VALID
|
|
||||||
linebreak - OR_IF : VALID
|
|
||||||
linebreak - DSEMI : 0
|
|
||||||
linebreak - WORD : VALID
|
|
||||||
linebreak - ASSIGNEMENT_WORD : 0
|
|
||||||
linebreak - NAME : 0
|
|
||||||
linebreak - NEWLINE : 0
|
|
||||||
linebreak - IO_NUMER : 0
|
|
||||||
linebreak - SEMI : AGGREGATION, k = 1 new = sequential_sep
|
|
||||||
linebreak - AMP : 0
|
|
||||||
linebreak - EMPTY : VALID
|
|
||||||
linebreak - GREAT : 0
|
|
||||||
linebreak - LESS : 0
|
|
||||||
linebreak - PAREN_OPEN : 0
|
|
||||||
linebreak - PIPE : 0
|
|
||||||
linebreak - PAREN_CLOSE : VALID
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#NEWLINE_LIST
|
|
||||||
|
|
||||||
newline_list - newline_list : VALID - NOTHING
|
|
||||||
newline_list - sequential_sep : 0
|
|
||||||
newline_list - separator_op : 0
|
|
||||||
newline_list - separator : VALID - NOTHNG !!!
|
|
||||||
newline_list - linebreak : VALID - NOTHING
|
|
||||||
newline_list - here_end : 0
|
|
||||||
newline_list - io_here : 0
|
|
||||||
newline_list - filename : 0
|
|
||||||
newline_list - io_file : 0
|
|
||||||
newline_list - io_redirect : 0
|
|
||||||
newline_list - redirect_list : 0
|
|
||||||
newline_list - cmd_suffix : 0
|
|
||||||
newline_list - cmd_prefix : 0
|
|
||||||
newline_list - cmd_word : 0
|
|
||||||
newline_list - cmd_name : 0
|
|
||||||
newline_list - simple_commound : 0
|
|
||||||
newline_list - do_group : 0
|
|
||||||
newline_list - brace_group : 0
|
|
||||||
newline_list - fname : 0
|
|
||||||
newline_list - function_body : 0
|
|
||||||
newline_list - function_definition : 0
|
|
||||||
newline_list - until_clause : 0
|
|
||||||
newline_list - while_clause : 0
|
|
||||||
newline_list - else_part : 0
|
|
||||||
newline_list - if_clause : 0
|
|
||||||
newline_list - pattern : 0
|
|
||||||
newline_list - case_item : 0
|
|
||||||
newline_list - case_item_ns : 0
|
|
||||||
newline_list - case_list : 0
|
|
||||||
newline_list - case_list_ns : 0
|
|
||||||
newline_list - case_clause : 0
|
|
||||||
newline_list - wordlist : 0
|
|
||||||
newline_list - in : 0
|
|
||||||
newline_list - name : 0
|
|
||||||
newline_list - term : AGGREGATION k - 0, new = separator
|
|
||||||
newline_list - compound_list : 0
|
|
||||||
newline_list - subshell : 0
|
|
||||||
newline_list - compound_command : 0
|
|
||||||
newline_list - command : 0
|
|
||||||
newline_list - pipe_sequence : 0
|
|
||||||
newline_list - pipeline : 0
|
|
||||||
newline_list - and_or : 0
|
|
||||||
newline_list - list : 0
|
|
||||||
newline_list - complete_command : 0
|
|
||||||
newline_list - complete_commands : 0
|
|
||||||
newline_list - program : 0
|
|
||||||
newline_list - In : 0
|
|
||||||
#newline_list - Lbrace : 0
|
|
||||||
#newline_list - Rbrace : 0
|
|
||||||
#newline_list - Bang : 0
|
|
||||||
newline_list - case : 0
|
|
||||||
newline_list - esac : 0
|
|
||||||
newline_list - while : 0
|
|
||||||
newline_list - until : 0
|
|
||||||
newline_list - for : 0
|
|
||||||
newline_list - if : 0
|
|
||||||
newline_list - then : 0
|
|
||||||
newline_list - else : 0
|
|
||||||
newline_list - elif : 0
|
|
||||||
newline_list - fi : 0
|
|
||||||
newline_list - do : 0
|
|
||||||
newline_list - done : 0
|
|
||||||
newline_list - CLOBBER : 0
|
|
||||||
newline_list - DLESS : 0
|
|
||||||
newline_list - DGREAT : 0
|
|
||||||
newline_list - LESSAND : 0
|
|
||||||
newline_list - GREATAND : 0
|
|
||||||
newline_list - LESSGREAT : 0
|
|
||||||
newline_list - DLESSDAH : 0
|
|
||||||
newline_list - AND_IF : 0
|
|
||||||
newline_list - OR_IF : 0
|
|
||||||
newline_list - DSEMI : 0
|
|
||||||
newline_list - WORD : 0
|
|
||||||
newline_list - ASSIGNEMENT_WORD : 0
|
|
||||||
newline_list - NAME : 0
|
|
||||||
newline_list - NEWLINE : 0
|
|
||||||
newline_list - IO_NUMER : 0
|
|
||||||
newline_list - SEMI : 0
|
|
||||||
newline_list - AMP : 0
|
|
||||||
newline_list - EMPTY : AGGREGATION k = 1, new = linebreak;
|
|
||||||
newline_list - GREAT : 0
|
|
||||||
newline_list - LESS : 0
|
|
||||||
newline_list - PAREN_OPEN : 0
|
|
||||||
newline_list - PIPE : 0
|
|
||||||
newline_list - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
sequential_sep - wordlist : VALID
|
|
||||||
sequential_sep - in : VALID
|
|
||||||
sequential_sep - name : VALID
|
|
||||||
|
|
||||||
separator - term : VALID
|
|
||||||
separator - compound_list : VALID - NOTHING !!!!!
|
|
||||||
|
|
||||||
separator_op - complete_commands : VALID - NOTHING !!!!
|
|
||||||
|
|
||||||
linebreak - linebreak : VALID - NOTHING
|
|
||||||
linebreak - separator_op : VALID - ASSIGNATION, k = 1, new = separator
|
|
||||||
linebreak - in : VALID
|
|
||||||
linebreak - name : VALID
|
|
||||||
linebreak - compound_list : VALID
|
|
||||||
linebreak - complete_commands : VALID
|
|
||||||
linebreak - AND_IF : VALID
|
|
||||||
linebreak - OR_IF : VALID
|
|
||||||
linebreak - WORD : VALID
|
|
||||||
linebreak - SEMI : VALID - AGGREGATION k = 1, new = sequential_sep
|
|
||||||
linebreak - PAREN_CLOSE : VALID
|
|
||||||
|
|
||||||
newline_list - newline_list : VALID - NOTHING
|
|
||||||
newline_list - separator : VALID - NOTHING !!!
|
|
||||||
newline_list - linebreak : VALID - NOTHING
|
|
||||||
newline_list - term : VALID - AGGREGATION k = 0, new = separator
|
|
||||||
|
|
||||||
here_end - DLESS : VALID - AGGREGATION k = 1, new = io_here
|
|
||||||
here_end - DLESSDAH : VALID - AGGREGATION k = 1, new = io_here
|
|
||||||
|
|
||||||
io_here - linebreak : VALID - AGGREGATION k = 1, new = program
|
|
||||||
io_here - redirect_list : VALID - NOTHING
|
|
||||||
io_here - cmd_suffix : VALID - NOTHING
|
|
||||||
io_here - cmd_prefix : VALID - NOTHING
|
|
||||||
io_here - cmd_word : VALID - AGGREGATION k = 0, new = cmd_suffix
|
|
||||||
io_here - cmd_name : VALID - AGGREGATION k = 0, new = cd_suffix
|
|
||||||
io_here - IO_NUMBER : VALID - AGGREGATION k = 1, new = io_redirect
|
|
||||||
io_here - compound_command : VALID - AGGREGATION k = 0, new = io_redirect
|
|
||||||
|
|
||||||
filename - LESS : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
filename - LESSAND : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
filename - GREAT : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
filename - GREATAND : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
filename - DGREAT : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
filename - LESSGREAT : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
filename - CLOBBER : VALID - AGGREGATION k = 1, new = io_file
|
|
||||||
|
|
||||||
io_file - redirect_list : VALID - NOTHING
|
|
||||||
io_file - cmd_suffix : VALID - NOTHING
|
|
||||||
io_file - cmd_prefix : VALID - NOTHING
|
|
||||||
io_file - cmd_name : VALID - NOTHING
|
|
||||||
io_file - cmd_word : VALID - NOTHING
|
|
||||||
io_file - linebreak : VALID - AGGREGATION k = 1, new = program
|
|
||||||
io_file - IO_NUMBER : VALID - AGGREGATION k = 1, new = io_redirect
|
|
||||||
io_file - compound_command : VALID - AGGREGATION k = 0, new = io_redirect
|
|
||||||
|
|
||||||
io_redirect - redirect_list : VALID - NOTHING
|
|
||||||
io_redirect - compound_command : VALID - AGGREGATION k = 0, new = redirect_list
|
|
||||||
io_redirect - cmd_suffix : VALID - NOTHING
|
|
||||||
io_redirect - cmd_prefix : VALID - NOTHING
|
|
||||||
io_redirect - cmd_word : VALID - NOTHING
|
|
||||||
io_redirect - cmd_name : VALID - NOTHING
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// si transparence continuer remontee,
|
|
||||||
// si dernier membre aurait pu aussi constitue membre actuel, ne rien fiare, ainsi que transparence
|
|
||||||
//push un dernier caracter linebreak
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#SEPARATOR
|
|
||||||
|
|
||||||
separator - separator : 0
|
|
||||||
separator - sequential_sep : 0
|
|
||||||
separator - separator_op : 0
|
|
||||||
separator - linebreak : 0
|
|
||||||
separator - newline_list : 0
|
|
||||||
separator - here_end : 0
|
|
||||||
separator - io_here : 0
|
|
||||||
separator - filename : 0
|
|
||||||
separator - io_file : 0
|
|
||||||
separator - io_redirect : 0
|
|
||||||
separator - redirect_list : 0
|
|
||||||
separator - cmd_suffix : 0
|
|
||||||
separator - cmd_prefix : 0
|
|
||||||
separator - cmd_word : 0
|
|
||||||
separator - cmd_name : 0
|
|
||||||
separator - simple_commound : 0
|
|
||||||
separator - do_group : 0
|
|
||||||
separator - brace_group : 0
|
|
||||||
separator - fname : 0
|
|
||||||
separator - function_body : 0
|
|
||||||
separator - function_definition : 0
|
|
||||||
separator - until_clause : 0
|
|
||||||
separator - while_clause : 0
|
|
||||||
separator - else_part : 0
|
|
||||||
separator - if_clause : 0
|
|
||||||
separator - pattern : 0
|
|
||||||
separator - case_item : 0
|
|
||||||
separator - case_item_ns : 0
|
|
||||||
separator - case_list : 0
|
|
||||||
separator - case_list_ns : 0
|
|
||||||
separator - case_clause : 0
|
|
||||||
separator - wordlist : 0
|
|
||||||
separator - in : 0
|
|
||||||
separator - name : 0
|
|
||||||
separator - term : VALID
|
|
||||||
separator - compound_list : NOTHING !!!!!!
|
|
||||||
separator - subshell : 0
|
|
||||||
separator - compound_command : 0
|
|
||||||
separator - command : 0
|
|
||||||
separator - pipe_sequence : 0
|
|
||||||
separator - pipeline : 0
|
|
||||||
separator - and_or : 0
|
|
||||||
separator - list : 0
|
|
||||||
separator - complete_command : 0
|
|
||||||
separator - complete_commands : 0
|
|
||||||
separator - program : 0
|
|
||||||
separator - In : 0
|
|
||||||
#separator - Lbrace : 0
|
|
||||||
#separator - Rbrace : 0
|
|
||||||
#separator - Bang : 0
|
|
||||||
separator - case : 0
|
|
||||||
separator - esac : 0
|
|
||||||
separator - while : 0
|
|
||||||
separator - until : 0
|
|
||||||
separator - for : 0
|
|
||||||
separator - if : 0
|
|
||||||
separator - then : 0
|
|
||||||
separator - else : 0
|
|
||||||
separator - elif : 0
|
|
||||||
separator - fi : 0
|
|
||||||
separator - do : 0
|
|
||||||
separator - done : 0
|
|
||||||
separator - CLOBBER : 0
|
|
||||||
separator - DLESS : 0
|
|
||||||
separator - DGREAT : 0
|
|
||||||
separator - LESSAND : 0
|
|
||||||
separator - GREATAND : 0
|
|
||||||
separator - LESSGREAT : 0
|
|
||||||
separator - DLESSDAH : 0
|
|
||||||
separator - AND_IF : 0
|
|
||||||
separator - OR_IF : 0
|
|
||||||
separator - DSEMI : 0
|
|
||||||
separator - WORD : 0
|
|
||||||
separator - ASSIGNEMENT_WORD : 0
|
|
||||||
separator - NAME : 0
|
|
||||||
separator - NEWLINE : 0
|
|
||||||
separator - IO_NUMER : 0
|
|
||||||
separator - SEMI : 0
|
|
||||||
separator - AMP : 0
|
|
||||||
separator - EMPTY : 0
|
|
||||||
separator - GREAT : 0
|
|
||||||
separator - LESS : 0
|
|
||||||
separator - PAREN_OPEN : 0
|
|
||||||
separator - PIPE : 0
|
|
||||||
separator - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#SEPARATOR_OP
|
|
||||||
|
|
||||||
separator_op - separator_op : 0
|
|
||||||
separator_op - sequential_sep : 0
|
|
||||||
separator_op - separator_op_op : 0
|
|
||||||
separator_op - linebreak : 0
|
|
||||||
separator_op - newline_list : 0
|
|
||||||
separator_op - here_end : 0
|
|
||||||
separator_op - io_here : 0
|
|
||||||
separator_op - filename : 0
|
|
||||||
separator_op - io_file : 0
|
|
||||||
separator_op - io_redirect : 0
|
|
||||||
separator_op - redirect_list : 0
|
|
||||||
separator_op - cmd_suffix : 0
|
|
||||||
separator_op - cmd_prefix : 0
|
|
||||||
separator_op - cmd_word : 0
|
|
||||||
separator_op - cmd_name : 0
|
|
||||||
separator_op - simple_commound : 0
|
|
||||||
separator_op - do_group : 0
|
|
||||||
separator_op - brace_group : 0
|
|
||||||
separator_op - fname : 0
|
|
||||||
separator_op - function_body : 0
|
|
||||||
separator_op - function_definition : 0
|
|
||||||
separator_op - until_clause : 0
|
|
||||||
separator_op - while_clause : 0
|
|
||||||
separator_op - else_part : 0
|
|
||||||
separator_op - if_clause : 0
|
|
||||||
separator_op - pattern : 0
|
|
||||||
separator_op - case_item : 0
|
|
||||||
separator_op - case_item_ns : 0
|
|
||||||
separator_op - case_list : 0
|
|
||||||
separator_op - case_list_ns : 0
|
|
||||||
separator_op - case_clause : 0
|
|
||||||
separator_op - wordlist : 0
|
|
||||||
separator_op - in : 0
|
|
||||||
separator_op - name : 0
|
|
||||||
separator_op - term : 0
|
|
||||||
separator_op - compound_list : 0
|
|
||||||
separator_op - subshell : 0
|
|
||||||
separator_op - compound_command : 0
|
|
||||||
separator_op - command : 0
|
|
||||||
separator_op - pipe_sequence : 0
|
|
||||||
separator_op - pipeline : 0
|
|
||||||
separator_op - and_or : 0
|
|
||||||
separator_op - list : 0 !!!!!
|
|
||||||
separator_op - complete_command : 0
|
|
||||||
separator_op - complete_commands : 0
|
|
||||||
separator_op - program : 0
|
|
||||||
separator_op - In : 0
|
|
||||||
#separator_op - Lbrace : 0
|
|
||||||
#separator_op - Rbrace : 0
|
|
||||||
#separator_op - Bang : 0
|
|
||||||
separator_op - case : 0
|
|
||||||
separator_op - esac : 0
|
|
||||||
separator_op - while : 0
|
|
||||||
separator_op - until : 0
|
|
||||||
separator_op - for : 0
|
|
||||||
separator_op - if : 0
|
|
||||||
separator_op - then : 0
|
|
||||||
separator_op - else : 0
|
|
||||||
separator_op - elif : 0
|
|
||||||
separator_op - fi : 0
|
|
||||||
separator_op - do : 0
|
|
||||||
separator_op - done : 0
|
|
||||||
separator_op - CLOBBER : 0
|
|
||||||
separator_op - DLESS : 0
|
|
||||||
separator_op - DGREAT : 0
|
|
||||||
separator_op - LESSAND : 0
|
|
||||||
separator_op - GREATAND : 0
|
|
||||||
separator_op - LESSGREAT : 0
|
|
||||||
separator_op - DLESSDAH : 0
|
|
||||||
separator_op - AND_IF : 0
|
|
||||||
separator_op - OR_IF : 0
|
|
||||||
separator_op - DSEMI : 0
|
|
||||||
separator_op - WORD : 0
|
|
||||||
separator_op - ASSIGNEMENT_WORD : 0
|
|
||||||
separator_op - NAME : 0
|
|
||||||
separator_op - NEWLINE : 0
|
|
||||||
separator_op - IO_NUMER : 0
|
|
||||||
separator_op - SEMI : 0
|
|
||||||
separator_op - AMP : 0
|
|
||||||
separator_op - EMPTY : 0
|
|
||||||
separator_op - GREAT : 0
|
|
||||||
separator_op - LESS : 0
|
|
||||||
separator_op - PAREN_OPEN : 0
|
|
||||||
separator_op - PIPE : 0
|
|
||||||
separator_op - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
#SEQUENTIAL_SEP
|
|
||||||
|
|
||||||
sequential_sep - sequential_sep : 0
|
|
||||||
sequential_sep - separator : 0
|
|
||||||
sequential_sep - separator_op : 0
|
|
||||||
sequential_sep - linebreak : 0
|
|
||||||
sequential_sep - newline_list : 0
|
|
||||||
sequential_sep - here_end : 0
|
|
||||||
sequential_sep - io_here : 0
|
|
||||||
sequential_sep - filename : 0
|
|
||||||
sequential_sep - io_file : 0
|
|
||||||
sequential_sep - io_redirect : 0
|
|
||||||
sequential_sep - redirect_list : 0
|
|
||||||
sequential_sep - cmd_suffix : 0
|
|
||||||
sequential_sep - cmd_prefix : 0
|
|
||||||
sequential_sep - cmd_word : 0
|
|
||||||
sequential_sep - cmd_name : 0
|
|
||||||
sequential_sep - simple_commound : 0
|
|
||||||
sequential_sep - do_group : 0
|
|
||||||
sequential_sep - brace_group : 0
|
|
||||||
sequential_sep - fname : 0
|
|
||||||
sequential_sep - function_body : 0
|
|
||||||
sequential_sep - function_definition : 0
|
|
||||||
sequential_sep - until_clause : 0
|
|
||||||
sequential_sep - while_clause : 0
|
|
||||||
sequential_sep - else_part : 0
|
|
||||||
sequential_sep - if_clause : 0
|
|
||||||
sequential_sep - pattern : 0
|
|
||||||
sequential_sep - case_item : 0
|
|
||||||
sequential_sep - case_item_ns : 0
|
|
||||||
sequential_sep - case_list : 0
|
|
||||||
sequential_sep - case_list_ns : 0
|
|
||||||
sequential_sep - case_clause : 0
|
|
||||||
sequential_sep - wordlist : VALID
|
|
||||||
sequential_sep - in : VALID
|
|
||||||
sequential_sep - name : VALID
|
|
||||||
sequential_sep - term : 0
|
|
||||||
sequential_sep - compound_list : 0
|
|
||||||
sequential_sep - subshell : 0
|
|
||||||
sequential_sep - compound_command : 0
|
|
||||||
sequential_sep - command : 0
|
|
||||||
sequential_sep - pipe_sequence : 0
|
|
||||||
sequential_sep - pipeline : 0
|
|
||||||
sequential_sep - and_or : 0
|
|
||||||
sequential_sep - list : 0
|
|
||||||
sequential_sep - complete_command : 0
|
|
||||||
sequential_sep - complete_commands : 0
|
|
||||||
sequential_sep - program : 0
|
|
||||||
sequential_sep - In : 0
|
|
||||||
#sequential_sep - Lbrace : 0
|
|
||||||
#sequential_sep - Rbrace : 0
|
|
||||||
#sequential_sep - Bang : 0
|
|
||||||
sequential_sep - case : 0
|
|
||||||
sequential_sep - esac : 0
|
|
||||||
sequential_sep - while : 0
|
|
||||||
sequential_sep - until : 0
|
|
||||||
sequential_sep - for : 0
|
|
||||||
sequential_sep - if : 0
|
|
||||||
sequential_sep - then : 0
|
|
||||||
sequential_sep - else : 0
|
|
||||||
sequential_sep - elif : 0
|
|
||||||
sequential_sep - fi : 0
|
|
||||||
sequential_sep - do : 0
|
|
||||||
sequential_sep - done : 0
|
|
||||||
sequential_sep - CLOBBER : 0
|
|
||||||
sequential_sep - DLESS : 0
|
|
||||||
sequential_sep - DGREAT : 0
|
|
||||||
sequential_sep - LESSAND : 0
|
|
||||||
sequential_sep - GREATAND : 0
|
|
||||||
sequential_sep - LESSGREAT : 0
|
|
||||||
sequential_sep - DLESSDAH : 0
|
|
||||||
sequential_sep - AND_IF : 0
|
|
||||||
sequential_sep - OR_IF : 0
|
|
||||||
sequential_sep - DSEMI : 0
|
|
||||||
sequential_sep - WORD : 0
|
|
||||||
sequential_sep - ASSIGNEMENT_WORD : 0
|
|
||||||
sequential_sep - NAME : 0
|
|
||||||
sequential_sep - NEWLINE : 0
|
|
||||||
sequential_sep - IO_NUMER : 0
|
|
||||||
sequential_sep - SEMI : 0
|
|
||||||
sequential_sep - AMP : 0
|
|
||||||
sequential_sep - EMPTY : 0
|
|
||||||
sequential_sep - GREAT : 0
|
|
||||||
sequential_sep - LESS : 0
|
|
||||||
sequential_sep - PAREN_OPEN : 0
|
|
||||||
sequential_sep - PIPE : 0
|
|
||||||
sequential_sep - PAREN_CLOSE : 0
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
ls
|
|
||||||
pwd
|
|
||||||
mkdir
|
|
||||||
cd
|
|
||||||
ls
|
|
||||||
pwd
|
|
||||||
mkdir
|
|
||||||
cd
|
|
||||||
ls
|
|
||||||
pwd
|
|
||||||
mkdir
|
|
||||||
cd
|
|
||||||
ls
|
|
||||||
pwd
|
|
||||||
mkdir
|
|
||||||
cd
|
|
||||||
ls
|
|
||||||
pwd
|
|
||||||
mkdir
|
|
||||||
cd
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
ls ; pwd > file1
|
|
||||||
ls | cat
|
|
||||||
echo hello world
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
ls | cat
|
|
||||||
pwd | cat > file1
|
|
||||||
11
42sh/sample/mix/mix.sh
Normal file
11
42sh/sample/mix/mix.sh
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
if ls
|
||||||
|
then
|
||||||
|
ls | cat
|
||||||
|
while ls
|
||||||
|
do
|
||||||
|
until ls
|
||||||
|
do
|
||||||
|
pwd
|
||||||
|
done
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
test=10
|
|
||||||
while [ $test -gt 1 ]
|
|
||||||
do
|
|
||||||
echo hello
|
|
||||||
((test--))
|
|
||||||
done > file1 > file2
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
ewf wefwe wf
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "debut script"
|
|
||||||
|
|
||||||
VALUE=3
|
|
||||||
while [ $VALUE -gt 1 ]
|
|
||||||
do
|
|
||||||
sleep 1
|
|
||||||
((VALUE--))
|
|
||||||
echo "a"
|
|
||||||
done > file1 | cat ; ls
|
|
||||||
|
|
||||||
ls -l > file2 | cat
|
|
||||||
|
|
||||||
echo "fin script"
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/17 22:17:14 by ariard #+# #+# */
|
/* Created: 2017/02/17 22:17:14 by ariard #+# #+# */
|
||||||
/* Updated: 2017/02/20 18:58:28 by ariard ### ########.fr */
|
/* Updated: 2017/02/20 19:03:04 by ariard ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/15 18:32:59 by ariard #+# #+# */
|
/* Created: 2017/02/15 18:32:59 by ariard #+# #+# */
|
||||||
/* Updated: 2017/02/20 18:53:00 by ariard ### ########.fr */
|
/* Updated: 2017/02/20 19:03:03 by ariard ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/09 16:26:30 by ariard #+# #+# */
|
/* Created: 2017/02/09 16:26:30 by ariard #+# #+# */
|
||||||
/* Updated: 2017/02/20 18:50:14 by ariard ### ########.fr */
|
/* Updated: 2017/02/20 19:26:28 by ariard ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
@ -218,6 +218,7 @@ t_stackmatch g_stackmatch[] =
|
||||||
{TK_WHILE, TK_IF},
|
{TK_WHILE, TK_IF},
|
||||||
{TK_WHILE, TK_ELIF},
|
{TK_WHILE, TK_ELIF},
|
||||||
{TK_WHILE, TK_THEN},
|
{TK_WHILE, TK_THEN},
|
||||||
|
{TK_WHILE, COMPLETE_CONDITION},
|
||||||
{TK_UNTIL, LINEBREAK},
|
{TK_UNTIL, LINEBREAK},
|
||||||
{TK_UNTIL, TK_BANG},
|
{TK_UNTIL, TK_BANG},
|
||||||
{TK_UNTIL, SEPARATOR_OP},
|
{TK_UNTIL, SEPARATOR_OP},
|
||||||
|
|
@ -229,6 +230,7 @@ t_stackmatch g_stackmatch[] =
|
||||||
{TK_UNTIL, TK_IF},
|
{TK_UNTIL, TK_IF},
|
||||||
{TK_UNTIL, TK_ELIF},
|
{TK_UNTIL, TK_ELIF},
|
||||||
{TK_UNTIL, TK_THEN},
|
{TK_UNTIL, TK_THEN},
|
||||||
|
{TK_UNTIL, COMPLETE_CONDITION},
|
||||||
{TK_FOR, LINEBREAK},
|
{TK_FOR, LINEBREAK},
|
||||||
{TK_FOR, TK_BANG},
|
{TK_FOR, TK_BANG},
|
||||||
{TK_FOR, SEPARATOR_OP},
|
{TK_FOR, SEPARATOR_OP},
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
/* By: ariard <ariard@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2017/02/09 14:30:22 by ariard #+# #+# */
|
/* Created: 2017/02/09 14:30:22 by ariard #+# #+# */
|
||||||
/* Updated: 2017/02/20 18:57:14 by ariard ### ########.fr */
|
/* Updated: 2017/02/20 19:03:07 by ariard ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|
|
||||||
13
42sh/tofix
13
42sh/tofix
|
|
@ -1,13 +0,0 @@
|
||||||
valeur all, all_separator, paren_case,
|
|
||||||
integrer decoupe temporaire
|
|
||||||
soigner les regles avec les separateurs
|
|
||||||
ajouter linebreak sur token needed
|
|
||||||
|
|
||||||
pour jack, jerter les separateurs a la formation
|
|
||||||
rajouter les noms de tous les tokens pour la sortie d erreur
|
|
||||||
|
|
||||||
->passer a une stack infinie
|
|
||||||
->construire if, while, else if
|
|
||||||
->tester les combinaisons deja existantes
|
|
||||||
->integrer erreurs
|
|
||||||
->erreur speciale : EOF
|
|
||||||
Loading…
Reference in a new issue