Commit graph

365 commits

Author SHA1 Message Date
AntoHesse
2b5b23e981 execution case without extension 2017-03-06 02:11:03 +01:00
Jack Halford
23cdcb2dbb merged new reidrection layout from pda 2017-03-05 19:30:27 +01:00
Antoine Riard
b23c28bf2f subshell doing 2017-03-05 19:21:00 +01:00
Jack Halford
25a8e2f65e getoutput temporary fix 2017-03-05 18:15:09 +01:00
Jack Halford
b998f45e49 comments with # 2017-03-05 17:30:32 +01:00
Antoine Riard
9e0c2bd906 merged done 2017-03-05 16:50:27 +01:00
Antoine Riard
2b456eac9c rectification cleanage code 2017-03-05 16:40:22 +01:00
Jack Halford
77ed38038a merged 2017-03-05 16:33:11 +01:00
Jack Halford
ee883b38a9 parens and curly braces lexing OK 2017-03-05 16:30:48 +01:00
william
eb6e104812 compilation sous linux possible, mise en commentaire des variables set but not used 2017-03-05 15:44:12 +01:00
Jack Halford
9a038e9290 && || seem to work now 2017-03-05 15:19:18 +01:00
Antoine Riard
56b106ee0f gen ast cleand 2017-03-04 22:08:31 +01:00
Antoine Riard
7d660fec7c execution if/elif/else + while ok 2017-03-04 18:02:38 +01:00
Antoine Riard
3dc47431ba gestion error ok + moar grammar pipe 2017-03-04 16:51:38 +01:00
AntoHesse
0f684e6189 clean instruction (token, parser, error) whatever succes or error, still issue lexing after syntax error 2017-03-04 02:51:52 +01:00
Antoine Riard
b4fdc05f64 ast free 2017-03-03 20:12:57 +01:00
Antoine Riard
29692ef8fa ast free 2017-03-03 20:02:53 +01:00
Jack Halford
b1b0cbdd92 builtins segfault patch 2017-03-03 19:53:59 +01:00
Jack Halford
f62ef4d9c0 reading from files now works 2017-03-03 19:47:06 +01:00
Jack Halford
8b88d41ed9 trying to make files work 2017-03-03 19:05:42 +01:00
wescande
4c44407b65 correctif on some stuff + ajout framework for test 2017-03-03 18:49:39 +01:00
Jack Halford
bc40339015 merged more stuff 2017-03-03 18:06:04 +01:00
Jack Halford
783cd963e4 merged things 2017-03-03 18:05:17 +01:00
Jack Halford
03c62f69a6 stuff 2017-03-03 18:03:17 +01:00
wescande
e9d0324189 merge correcitf segv 2017-03-03 18:00:43 +01:00
wescande
6775120264 protection de segv au lancement du shell (redirection entrante & nom de fichier non valid) 2017-03-03 17:59:39 +01:00
Jack Halford
2ad34631e3 parentheses dont trigger more input after lexing 2017-03-03 17:58:08 +01:00
Jack Halford
2926a9d00d merged pda_execution 2017-03-03 17:33:36 +01:00
Antoine Riard
d0b821c483 pipe fix grammar + assignement word parsing 2017-03-03 17:19:39 +01:00
Jack Halford
418859e9e8 it compiles ! much more testing for simple commands to work 2017-03-03 16:51:18 +01:00
Antoine Riard
b90a17f2fa googd redir 2017-03-03 14:37:22 +01:00
Antoine Riard
37d9898f59 doing pipe + lst cmds 2017-03-02 22:02:53 +01:00
Jack Halford
3857b06785 execution much simpler with new parser, thx ariard! 2017-03-02 21:17:16 +01:00
Jack Halford
62d3ef01d2 merged pda 2017-03-02 12:37:15 +01:00
ariard@student.42.fr
722a290aee yale sauf subshell 2017-03-01 23:01:43 +01:00
ariard@student.42.fr
aa9097575d rewef 2017-03-01 18:04:29 +01:00
ariard@student.42.fr
9f9d799bbe merge fixed 2017-03-01 16:28:44 +01:00
ariard@student.42.fr
f5fafb4c19 before pull 2017-03-01 16:25:53 +01:00
Jack Halford
03152a9e2b conflicts resolved 2017-02-28 21:40:22 +01:00
Jack Halford
ca1e060463 fixed problem with redirection lexing 2017-02-28 18:53:58 +01:00
Jack Halford
9a29a9dcb3 issue #46 2017-02-27 16:59:28 +01:00
AntoHesse
9c0984658e exec flow control 2017-02-26 01:13:47 +01:00
ariard@student.42.fr
8c8ee2152e parsing heredoc doing 2017-02-25 20:36:27 +01:00
ariard@student.42.fr
eeb0887081 commit from un cluster qui marche aka new redir 2017-02-25 19:31:02 +01:00
ariard@student.42.fr
7b1d505a5b gen func ok, todo: multi branch declaration, probleme lexer sur brackets 2017-02-25 00:31:51 +01:00
ariard@student.42.fr
102196bff4 parsing brace_clause + func def ok 2017-02-24 23:17:29 +01:00
ariard@student.42.fr
f703185a3a assignement word lexing parsing 2017-02-24 21:00:38 +01:00
ariard@student.42.fr
0461285d95 subshell et case ok 2017-02-24 19:30:20 +01:00
ariard@student.42.fr
d50a0d1b13 parsing for ok 2017-02-24 16:29:51 +01:00
AntoHesse
79bceb05a9 trop fatigue pour debug les case nesting, fuck it, todo tomorrow 2017-02-23 01:55:09 +01:00
AntoHesse
2fbea4837d gramamr for 2017-02-22 19:50:29 +01:00
AntoHesse
268c5fb46e syntax error + coordination parser etat 2017-02-22 18:36:32 +01:00
AntoHesse
5976d0d281 grammar case part 1 motherfucker 2017-02-22 01:43:25 +01:00
ariard@student.42.fr
49b79603b3 insert newline add 2017-02-21 22:45:59 +01:00
Jack Halford
8084ffb6a1 pipes done 2017-02-21 22:42:13 +01:00
ariard@student.42.fr
04c4978c35 Merge branch 'pda' of https://github.com/jzck/42sh into pda
"conflict resolved"
2017-02-21 20:33:12 +01:00
ariard@student.42.fr
fffb8c74a5 before pull main clean 2017-02-21 20:29:46 +01:00
Jack Halford
ec79b05131 new instruction handler looks good 2017-02-21 20:21:52 +01:00
ariard@student.42.fr
7856564ecb main clean 2017-02-21 18:34:31 +01:00
ariard@student.42.fr
07c2101df4 EOF error add 2017-02-21 18:15:21 +01:00
ariard@student.42.fr
d05cec4962 include + parser state 2017-02-21 16:46:13 +01:00
Jack Halford
661cb0eb8b get_fd 2017-02-21 14:35:14 +01:00
Jack Halford
c04006a471 fixed some merging problems : it compiles now 2017-02-20 22:41:02 +01:00
ariard@student.42.fr
8d23821d69 after mege 2017-02-20 21:05:12 +01:00
wescande
4ea6fb5801 Merge remote-tracking branch 'origin/glob_bquote' 2017-02-20 19:18:23 +01:00
wescande
f9019aea88 suppression ancien backquote + deplacement command output + modif main sur l'appel a expand_bquote 2017-02-20 19:15:19 +01:00
wescande
10596c48d9 optimisation du backquotting + mise a la norme 2017-02-20 19:11:52 +01:00
ariard@student.42.fr
2e012b3e91 if elif ok, else coming 2017-02-20 17:20:34 +01:00
wescande
169aa62b7e rectif nombreuses issues + ajout de l'expansion des backquote 2017-02-20 15:31:13 +01:00
ariard@student.42.fr
fbce14ef34 modifs gestion d'erreur 2017-02-19 16:55:06 +01:00
Jack Halford
c65e07038b lexing problems w/ less and great 2017-02-19 15:03:51 +01:00
Jack Halford
8abf9fe433 lexer function increment lexer.pos not lexer.str 2017-02-19 14:43:45 +01:00
ariard@student.42.fr
96e439b652 parsing while simple ok 2017-02-17 23:43:44 +01:00
ariard@student.42.fr
4ef7af6e20 while error check doing 2017-02-17 19:49:12 +01:00
ariard@student.42.fr
b0a3e63ffc modif redirect list 2017-02-17 17:15:58 +01:00
Jack Halford
957d568352 bquotes expand correctly /w single quotes and double quotes 2017-02-17 16:39:28 +01:00
Jack Halford
b8bf58fbab doing some bquote expansion fix 2017-02-17 15:49:03 +01:00
AntoHesse
7f83e231aa && || 2017-02-17 02:38:56 +01:00
AntoHesse
7477cb4c0d debug exec ou parsing 2017-02-16 17:35:44 +01:00
ariard@student.42.fr
185ed2ebd3 gen ast en cours 2017-02-15 20:58:41 +01:00
Jack Halford
73f12e7e96 merged heredoc support; moved history/ into src/ because of makefile
problems
2017-02-15 07:06:57 +01:00
Jack Halford
3f984ad498 multiple heredocs on one line word OK 2017-02-15 00:00:39 +01:00
Jack Halford
c764027070 heredoc starting to work; goto do multiple heredoc and execution part 2017-02-14 20:32:34 +01:00
ariard@student.42.fr
0040a07ce9 bitwise pour exclure next_token malvenu 2017-02-14 19:09:30 +01:00
gwojda
71f13249b8 recollage de l'historique + control R + point d'exclamation. quelques fixes pour le prompt 2017-02-14 15:45:17 +01:00
Jack Halford
75c11ff4a6 first batch of fixes on lexer and bquote expansion 2017-02-14 14:54:01 +01:00
Jack Halford
be6be17f2a bquotes expansion refactoring for future norm checks; still need to preventh field splitting for dquoted bquotes; also need to fuse bquote expansion into the globbing module 2017-02-14 00:42:41 +01:00
Jack Halford
4840051dbd backquote expansion checks for splitting 2017-02-13 17:46:56 +01:00
Jack Halford
2e0b6102ce bquotes expand correctly but segfault afterwards... 2017-02-13 15:31:21 +01:00
Jack Halford
742a99440e backslash should work, also keep NL when they are quoted 2017-02-12 18:11:59 +01:00
Jack Halford
a144239a56 pull resolved 2017-02-10 13:39:34 +01:00
Jack Halford
0a1fd7e518 dquotes->bquotes 2017-02-10 13:38:49 +01:00
gwojda
b25e6b186a fixe termcaps 2017-02-10 12:19:51 +01:00
Jack Halford
6ec9f9295e initial implementation looks ok, parenthesis needs fix 2017-02-10 05:19:26 +01:00
ariard@student.42.fr
1358c367e6 jack a raison: les enums ca marche.. 2017-02-10 01:43:20 +01:00
Jack Halford
e8cd4f45b0 started to work on lexer_stack 2017-02-10 00:38:45 +01:00
ariard@student.42.fr
87b7d65d71 archi ok, test struct de grammaire 2017-02-09 20:34:09 +01:00
ariard@student.42.fr
e7a7fc04df proto parser en cours 2017-02-09 18:10:28 +01:00
ariard@student.42.fr
ebc57c0da8 parser as a pushdown automata, test 2017-02-09 16:06:05 +01:00
ariard@student.42.fr
5ec1e4c29f before test pushdown automata 2017-02-08 23:28:18 +01:00
Jack Halford
5a033a8789 fcntl for saving fds, new option to distinguish interactive shell or not 2017-02-08 22:48:37 +01:00
Jack Halford
a01b7b76ab redirection now works with builtins! 2017-02-07 17:57:52 +01:00
ariard@student.42.fr
46ccf47755 loop read again if script modifierd 2017-02-06 22:04:21 +01:00
ariard@student.42.fr
c0977b20ff until exec ok 2017-02-06 21:02:37 +01:00
ariard@student.42.fr
490f81ee23 exec if + elif + else ok to-do:syntax error 2017-02-06 19:48:17 +01:00
ariard@student.42.fr
a211bfd1b0 parsing if/elsif stable 2017-02-06 17:59:48 +01:00
Jack Halford
156e1cb29c file redirections repaired 2017-02-06 16:51:34 +01:00
Jack Halford
a919dc53b9 added parsing error when words follow a subshell 2017-02-06 14:42:21 +01:00
Jack Halford
1649b6a294 read works with escape sequences 2017-02-06 14:05:44 +01:00
ariard@student.42.fr
9bb45abb3d currently parsing if, to-do:syntax error, clean code& interactive shell 2017-02-06 00:05:32 +01:00
ariard@student.42.fr
ffb0542c42 parsing loop stable 2017-02-05 21:13:55 +01:00
ariard@student.42.fr
63b25532b3 parsing loop presque 2017-02-05 19:38:46 +01:00
ariard@student.42.fr
65b6658978 parse newline 2017-02-05 00:41:00 +01:00
ariard@student.42.fr
cd2019c0fd fucking newline to parse 2017-02-05 00:15:12 +01:00
gwojda
288acbb378 mise a la norme edition de ligne - heredoc mal géré 2017-02-04 16:29:28 +01:00
ariard@student.42.fr
9bbd6d7403 do as a sep + multiple newline 2017-02-04 15:52:07 +01:00
ariard@student.42.fr
0a5143bd69 multi loop ok, to-do : do as a separator(lexing), in case of multisep after do delete all (parsing), before while inspect after done (parsing) 2017-02-03 20:03:54 +01:00
Jack Halford
065aacaadd removed debug messages from completion 2017-02-03 17:36:07 +01:00
Jack Halford
593258dff2 merged lexer-hotfix 2017-02-03 16:23:54 +01:00
Jack Halford
2f647b820f no more skipping delims before lexing, removed superfluous headers from lib, readded do_job_notifications before prompt 2017-02-03 16:15:55 +01:00
ariard@student.42.fr
fcea6dda9b scripting stable before new lexing and parsing(merged with master) 2017-02-03 15:41:14 +01:00
gwojda
045b3c0226 completion en cas d'unique possibilité : OK ! :D 2017-02-03 15:41:06 +01:00
ariard@student.42.fr
e708ce1e16 merge resolved 2017-02-03 14:44:35 +01:00
Jack Halford
62be4bc470 new architecture for redirection inside of fork(), chained redirects dont work properly yet 2017-02-03 14:11:34 +01:00
Jack Halford
985745f881 starting to fixi redirections 2017-02-03 13:21:06 +01:00
ariard@student.42.fr
36dcd432a4 before rebase 2017-02-02 17:56:40 +01:00
Jack Halford
7265a6c340 cleaner main, added ft_lexer to encapsulate all phases of tokenization 2017-02-02 15:45:55 +01:00
Jack Halford
b08b727779 orphan backquotes and orpan parens generate parse errors 2017-02-02 15:28:18 +01:00
Jack Halford
073ef322e4 fixed backquotes 2017-02-02 14:57:30 +01:00
Jack Halford
da592565e0 cleaned up debug macros before merge 2017-02-02 01:20:51 +01:00
Jack Halford
62cdc4ca84 back to looking like the GNU tutorial 2017-02-01 17:30:45 +01:00
ariard@student.42.fr
f33d2be526 lexing if ok 2017-02-01 00:00:27 +01:00
ariard@student.42.fr
b0dececf1f loop_del 2017-01-31 22:52:36 +01:00
ariard@student.42.fr
73b4cc3060 resolution empty tree + nested loop + while error lexing 2017-01-31 22:12:49 +01:00
wescande
3c8c143143 merge de extend_glob. Ajout de la barre de progression dans le makefile 2017-01-31 19:52:04 +01:00
wescande
ad7d814c74 extension du globbing implemente SUPER MAKEFILE QUI DECHIRE TA M*RE 2017-01-31 19:36:29 +01:00
Jack Halford
9e3640aed1 maj libft 2017-01-31 16:43:46 +01:00
Jack Halford
e2e18d83bc removed debug macros in job_control 2017-01-31 13:52:21 +01:00
ariard@student.42.fr
0dc029406f exec while ok nxt: resoudre bug empty tree 2017-01-30 23:47:05 +01:00
ariard@student.42.fr
000ae4116a generation subtree test_commands + consequent_commands 2017-01-30 19:31:34 +01:00
ariard@student.42.fr
2212c927f8 ast with while ok next:execution while 2017-01-30 17:23:55 +01:00
wescande
3c46e10736 integration du retour de glob dans les tokens 2017-01-30 17:19:09 +01:00
wescande
77b94ee8ce merge de globbing on master 2017-01-30 13:09:41 +01:00
ariard@student.42.fr
42bd66af42 generation liste chainee d'ast de multi commande ok, to-do : ast de while 2017-01-28 23:39:59 +01:00
Jack Halford
279509a651 merged and fixed conflicts 2017-01-28 19:25:25 +01:00
Jack Halford
cc2fadf41c variables assigning passes initial testing, needs more testing 2017-01-27 19:40:36 +01:00
ariard@student.42.fr
47a2fdd683 doing, parsing newline et generation liste chaine d arbre binaire 2017-01-26 22:43:47 +01:00
wescande
a0feff2e2a clean after rebase 2017-01-26 19:37:19 +01:00
wescande
e886375f7a change dir name 2017-01-26 19:24:00 +01:00
wescande
977238f69e premier commit. working. . . 2017-01-26 19:24:00 +01:00
Jack Halford
9d2e01de25 some progress on c_cc[VTIME] understading, almost there 2017-01-26 18:41:07 +01:00
ariard@student.42.fr
bcaa2fb943 lexing while_clause, passage en buffer dynamique au readscript todo tomorrow 2017-01-26 01:00:03 +01:00
Jack Halford
d3fd7bbded termios stuff added 2017-01-25 18:13:15 +01:00
ariard@student.42.fr
a011f94bcb comment same bug that with a space in input execution, tree empty cause bug execution 2017-01-24 20:17:46 +01:00
ariard@student.42.fr
ca8fb52d34 add lst_find_until + exec script multilines ok 2017-01-24 18:08:32 +01:00
Gautier WOJDA
5d09281cb1 Ajout du fichier pour afficher l'historique 2017-01-24 15:38:10 +01:00
ariard@student.42.fr
0431add79c modifs readscript + token newline 2017-01-24 01:27:25 +01:00
ariard@student.42.fr
830b04208e shell tokenize newline debut 2017-01-22 23:32:57 +01:00
ariard@student.42.fr
f81a51cdd8 others shebang ok 2017-01-22 22:55:34 +01:00
ariard@student.42.fr
e4682de358 read script queue ok 2017-01-22 21:40:30 +01:00
Jack Halford
8e3f84cef1 finished parsing options, read loop done. few options are missing still, also have a break problem : read doesnt stop reading even when i dopnt want anymore input... 2017-01-22 18:23:21 +01:00
ariard@student.42.fr
133f4bf052 read script init 2017-01-22 00:38:27 +01:00
Jack Halford
ee7ddc5e14 builtin_read first commit 2017-01-20 19:34:18 +01:00
Gautier WOJDA
ad25d505b4 add some work 2017-01-19 18:32:06 +01:00
Jack Halford
4b22633cab backquotes ok for simple, need to do furthur testing later, also check how bash handles nested backquotes 2017-01-18 14:28:49 +01:00
Jack Halford
dfdf245b1a backquote work, still some segfaults, end of day commit 2017-01-12 18:09:16 +01:00
Jack Halford
ef400aa225 first effort towards subshells and backquotes, lexer done, execution done for subshells 2017-01-11 18:06:26 +01:00
Jack Halford
757976474e j'avais cassé Ctrl-Z en mergeant, c'est fix 2017-01-10 18:05:24 +01:00
Jack Halford
8b414aac13 merge stash 2017-01-10 17:07:25 +01:00
Jack Halford
8f70df9264 addded my old set_termios 2017-01-10 17:05:17 +01:00
Jack Halford
f011ea258d first try at $ expansion, done on the fly in the lexer, not tested thoroughly 2017-01-10 15:20:45 +01:00
Jack Halford
0c99e8012c lexer improvements 2017-01-10 14:09:18 +01:00
Jack Halford
e4e32db599 merge done 2017-01-10 13:23:21 +01:00
Jack Halford
da285e7c1f removed debug messages in job control before merge 2017-01-10 12:34:27 +01:00
Jack Halford
21276905b7 petit commit avant de merge job_control: unification de data_singleton (Samuel n'utilisais pas le meme) et quelques petites retouches. beau boulet sur le readline @sbenning 2017-01-10 11:58:03 +01:00
Jack Halford
9d02933f72 builtin_bg done, doesnt take arguments yet 2017-01-09 17:00:56 +01:00
Jack Halford
153b9aec79 pipelines fixed, job messaging better for notification & for builtin_jobs. still gotta fix cat (See previous commits msgs) 2017-01-09 16:26:54 +01:00
Jack Halford
204d5b9795 pipelines broken in this commit 2017-01-09 16:01:09 +01:00
Jack Halford
bbdaedef06 fg works with vim but not cat, probablty something to do w/ SIGTTIN or SIGTTOU. 2017-01-08 16:14:31 +01:00
Jack Halford
df1f449778 pipelines fixed 2017-01-07 22:27:13 +01:00
Jack Halford
9e8939d588 cleanup after merge (few segfaults remained because of auto merge done the wrong way around. process_reset added 2017-01-02 21:31:20 +01:00
Jack Halford
14e5d176aa end of holidays commit 2017-01-02 17:22:50 +01:00
Jack Halford
72b9e72fc8 days work, still a lot to do 2016-12-15 18:32:48 +01:00
Jack Halford
fc53e40a4f mostly compile-time error fixing 2016-12-14 23:26:29 +01:00
Jack Halford
e3b344bbb9 big refactoring in progress, will finish tomorrow 2016-12-13 17:59:58 +01:00
Jack Halford
160810b3bc stuff i did before pulling 2016-12-13 12:58:18 +01:00
Jack Halford
6cfac2eaff job control advances, still have to do ctrl-z, fg, bg, jobs 2016-12-12 18:13:29 +01:00
Jack Halford
83bde42e02 data singleton and sigchld handler advancements 2016-12-12 00:43:03 +01:00
Jack Halford
09e823bf2b job control: retrieval of dat as a global g_data so signal handlers can access it 2016-12-10 18:26:09 +01:00
Jack Halford
4cfeb62747 job_control first commit: 2016-12-10 17:47:36 +01:00
Jack Halford
4feaa64e08 exitstatus function, so i can set ? variable in one line with not memory handling. No more leaks, sexy debug macro DG(), valgrind suppression, gitignore 2016-12-10 00:20:59 +01:00
Jack Halford
d24633c9e6 execution functions changes: they now take reference of nodes, they now
delete nodes after operations (suffix).
2016-12-10 00:14:33 +01:00
Jack Halford
768d996b7a commit de reference 2016-12-03 15:37:50 +01:00
Jack Halford
972e3e6cbc pad mal de norme, aussi on enleve le backslash si necessaire au lexing 2016-12-03 13:15:58 +01:00
Jack Halford
2d631469e6 execution of &&/|| done, added aol_status and aol_search to data (aol=and_or_list) 2016-12-01 17:47:41 +01:00
Jack Halford
1f36fc1501 ft_cleanup called at exit, reset termios to ISIG,ICANON,ECHO 2016-12-01 14:47:28 +01:00
Jack Halford
007b4c6a3f signal handling works like bash for sigint: doesnt interrupt cat 2016-12-01 14:27:52 +01:00
Jack Halford
9b85099485 env -i ./minishell quits and doesnt segfault. fixed behaviour for builtins in pipeline (fork when out isnt stdout) 2016-12-01 12:35:37 +01:00
Jack Halford
07b8519239 added &&,|| and & operators to lexer/parser 2016-11-30 22:09:55 +01:00
Jack Halford
54a6cdecb0 pipes and redirection working 2016-11-29 20:30:36 +01:00