Commit graph

364 commits

Author SHA1 Message Date
Antoine Riard
a2628f4302 new parsing des if 2017-03-10 18:09:13 +01:00
Jack Halford
27cc095b8e merged 2017-03-10 17:09:18 +01:00
Jack Halford
0a205229a8 pgid stuff, still must fix (ls) 2017-03-10 17:08:04 +01:00
Antoine Riard
0852e7c807 bang exec ok 2017-03-10 16:23:51 +01:00
Antoine Riard
e96638aca1 execution bang 2017-03-10 16:18:36 +01:00
Jack Halford
beab4ff174 fixing pipes 2017-03-10 15:41:01 +01:00
Jack Halford
d051ccc127 redirection tweaks 2017-03-10 14:01:39 +01:00
Jack Halford
7dd8b1861b issue #78 execution side done 2017-03-10 13:21:35 +01:00
Jack Halford
2659b68d28 issue #71 done (lexer problem) 2017-03-10 13:14:08 +01:00
Jack Halford
dd6817ff61 issues #71 , #72 2017-03-10 12:58:34 +01:00
Jack Halford
a9799debda issue #72, tried to reset file descriptors but still not working 2017-03-09 15:24:00 +01:00
Jack Halford
843dafe91e issue #75 2017-03-09 14:31:52 +01:00
Antoine Riard
4d13a2e6e6 end merge 2017-03-08 23:44:03 +01:00
Jack Halford
c2952d577c hanged jobs printing and some other stuff 2017-03-08 20:58:34 +01:00
Jack Halford
0d162c50f5 started rapiring jobc and heredoc lexer now OK' 2017-03-08 17:46:38 +01:00
Jack Halford
67bbc22fd7 fixed 2017-03-08 15:55:56 +01:00
Jack Halford
794a3f9936 heredoc changes to lexer done 2017-03-08 15:53:10 +01:00
wescande
145c116e18 ajout de reinitialisation du des exec dans les forks + correctif d'un segv sur free du subshell 2017-03-08 15:19:10 +01:00
Jack Halford
95be4e209c stuff 2017-03-08 14:52:44 +01:00
Jack Halford
4ee0f24632 compils now 2017-03-08 14:28:34 +01:00
Jack Halford
e711ffc927 issue #50 done 2017-03-08 13:07:46 +01:00
Jack Halford
8a46d9fe2a issue #48 first step 2017-03-08 12:44:09 +01:00
Jack Halford
91a8e81c45 minor libft interface changes 2017-03-08 12:04:05 +01:00
wescande
9f8f9bb729 normalement les fonctions sont fonctionnelles. necessitent plus de test. 2017-03-08 04:49:50 +01:00
wescande
b3e03c71c7 Merge branch 'pda' of github.com:jzck/42sh into pda 2017-03-08 03:10:50 +01:00
wescande
be78dfbdf8 commit pour recup lib & node_copy 2017-03-08 03:10:46 +01:00
Antoine Riard
cc5ba1dc75 pull done 2017-03-08 03:07:16 +01:00
Antoine Riard
bce509e19c wefwef 2017-03-08 03:05:01 +01:00
wescande
157519224d ajout des free en fonction du process 2017-03-08 02:40:58 +01:00
Antoine Riard
37970c7274 ft_lstdup 2017-03-08 01:47:40 +01:00
wescande
3a186407b1 working but no subshell 2017-03-08 01:45:29 +01:00
wescande
26222441cc ajout execution des while, if, for, case, until 2017-03-07 22:45:48 +01:00
wescande
bac6e9d6d8 permet de compiler 2017-03-07 21:25:40 +01:00
wescande
8c2103fa1b merge of the work 2017-03-07 21:01:33 +01:00
wescande
ad5bea849e working on job_control, need to catch Jack work's 2017-03-07 20:53:11 +01:00
Antoine Riard
69732b44fe conflcit resolved 2017-03-07 19:43:59 +01:00
Antoine Riard
02286b88bf moar grammmar 2017-03-07 19:41:25 +01:00
Jack Halford
6ef7a1289a compilation error 2017-03-07 18:38:20 +01:00
Jack Halford
764c62cc45 changed header layout 2017-03-07 18:37:13 +01:00
wescande
48dc3d7c70 recup merge + modif 2017-03-07 16:56:20 +01:00
wescande
29aff9ebb7 exec en cours 2017-03-07 16:43:32 +01:00
Jack Halford
2a215a6506 launch_file and launch_builtin 2017-03-07 16:40:09 +01:00
wescande
7195207116 merging 2017-03-07 15:35:36 +01:00
Jack Halford
7018cfc326 no more atexit, we call builtin_exit at end of main or at ctrl D 2017-03-07 15:25:28 +01:00
wescande
b2af159f64 pour merge 2017-03-07 15:12:20 +01:00
Jack Halford
eb9a697ef4 merged bt_jobs 2017-03-07 15:10:13 +01:00
Jack Halford
a5f186eb59 new process logic 2017-03-07 15:05:04 +01:00
Antoine Riard
d30519ced2 with math 2017-03-07 14:40:44 +01:00
Antoine Riard
5118a00f28 math ok, parsing io number tjr problemes 2017-03-07 13:35:40 +01:00
Antoine Riard
14be331b4e expr math doing 2017-03-07 12:22:05 +01:00
wescande
7ae114fd55 permet la compilation en commentant exec_var 2017-03-07 12:19:10 +01:00
AntoHesse
f70f8bd3b5 exec var 2017-03-06 23:51:26 +01:00
Antoine Riard
4be3a84471 expansion case yeaaah 2017-03-06 19:46:09 +01:00
Antoine Riard
1dbc4653fd expansion for + cleanage code get_reserved_word 2017-03-06 19:05:43 +01:00
Jack Halford
e9633119e5 >& and <& check if fd is open for reading/writing specifically 2017-03-06 16:58:47 +01:00
wescande
c42357efa3 merge of stuff 2017-03-06 16:22:01 +01:00
wescande
d3821b9ac7 some correctif 2017-03-06 16:20:06 +01:00
Antoine Riard
e675eceb87 redirection ok, further test needed 2017-03-06 15:58:30 +01:00
Antoine Riard
21245cac3b merge 2017-03-06 14:55:48 +01:00
Antoine Riard
65930ddf07 Merge branch 'pda' of https://github.com/jzck/42sh into pda
"recup work last night"
2017-03-06 14:51:32 +01:00
AntoHesse
2b5b23e981 execution case without extension 2017-03-06 02:11:03 +01:00
AntoHesse
4849c899e4 execution for without expansion 2017-03-06 01:10:54 +01:00
Jack Halford
40aebb29b2 redirect greatand / lessand execution done (parsing not functional yet) 2017-03-05 19:48:56 +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
Antoine Riard
cba548d0ae redir io number seems good 2017-03-05 18:17:51 +01:00
Jack Halford
25a8e2f65e getoutput temporary fix 2017-03-05 18:15:09 +01:00
Antoine Riard
b6c0355904 redir without IO_NUMBER good 2017-03-05 17:20:43 +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
Jack Halford
566cd522ae builtins no longer remain in job control 2017-03-05 15:07:43 +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
wescande
6ce2a1ec14 rectif free on expand_var 2017-03-03 20:45:36 +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
Jack Halford
eac301aa16 merged pda stuff 2017-03-03 18:52:20 +01:00
Jack Halford
20e96b751f pipes work 2017-03-03 18:50:13 +01:00
wescande
4c44407b65 correctif on some stuff + ajout framework for test 2017-03-03 18:49:39 +01:00
Jack Halford
03c62f69a6 stuff 2017-03-03 18:03:17 +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
Jack Halford
418859e9e8 it compiles ! much more testing for simple commands to work 2017-03-03 16:51:18 +01:00
wescande
df7ed59b03 ajout du bool dans l'appel a glob pour demander un matching complet ou juste une expnsion de var +bquote (cas de l'assignation de variables) 2017-03-03 16:30:06 +01:00
AntoHesse
b9d8b949be perdu entre les 2 libs de lst :( to-do tomorroz 2017-03-03 02:00:15 +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
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
Jack Halford
03152a9e2b conflicts resolved 2017-02-28 21:40:22 +01:00
ariard@student.42.fr
871b4da000 test 2017-02-28 19:28:01 +01:00
AntoHesse
9c0984658e exec flow control 2017-02-26 01:13:47 +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
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
Jack Halford
56fe780999 segfault on 'builtin | binary' fixed, 'binary | builtin' gets a SIGKILL somehow... 2017-02-19 16:10:23 +01:00
Jack Halford
694744bf0c PIPESINGLE macro was wrong 2017-02-19 15:18:46 +01:00
Jack Halford
c65e07038b lexing problems w/ less and great 2017-02-19 15:03:51 +01:00
gwojda
ea073dceaf correction segv edition de ligne + ajout table de hash 2017-02-18 14:42:43 +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
Jack Halford
16cfada91f heredoc redirection done, looks to work OK 2017-02-15 00:13:02 +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
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
b613f9fb89 conflicts resolved 2017-02-07 18:06:30 +01:00
Jack Halford
a01b7b76ab redirection now works with builtins! 2017-02-07 17:57:52 +01:00
wescande
6648487f4a mergeing of branch var expansion 2017-02-07 17:40:10 +01:00
wescande
7610136d18 expansion des variables ok, fait a l'execution et plus dans le lexer (laissé en commentaire dans le lexer) 2017-02-07 17:22:39 +01:00
Jack Halford
c56f9dac85 lexer_comment back onto master 2017-02-07 12:38:04 +01:00
Jack Halford
8ae6910122 redirection of identical fds does nothing 2017-02-07 12:03:22 +01:00
Jack Halford
d7f5116eb0 looks promising 2017-02-07 02:07:47 +01:00
Jack Halford
bb52d35f4d starting to fix redirects 2017-02-06 23:49:58 +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
5cac33e7cf Merge branch 'master' of https://github.com/jzck/minishell 2017-02-06 17:01:23 +01:00
Jack Halford
156e1cb29c file redirections repaired 2017-02-06 16:51:34 +01:00
wescande
fe57e9e520 rectif du segv sur {} + modification de la gestion des {} (ordre + qd chaine unique) + ajout de fonction pours les chars esc (set_char_esc | set_char_no_esc | set_char_esc_mode 2017-02-06 15:38:10 +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
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
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
Jack Halford
585d469324 lexer skips delims before starting to tokenize 2017-02-03 15:15:38 +01:00
Jack Halford
f4efbdd313 hotfix, forget to check compilation 2017-02-03 14:56:30 +01:00
ariard@student.42.fr
e708ce1e16 merge resolved 2017-02-03 14:44:35 +01:00
Jack Halford
09cb6f7843 seems to pass initial testing for chained redirections, havent tried very far 2017-02-03 14:41:28 +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
d5c830d347 Merge branch 'job-control-fix' 2017-02-02 01:21:16 +01:00
Jack Halford
da592565e0 cleaned up debug macros before merge 2017-02-02 01:20:51 +01:00
Jack Halford
0d8610ca65 exit statuses behave correctly now (like bash) 2017-02-02 00:56:16 +01:00
Jack Halford
6ad4ca1848 some nices fixes, works nicely 2017-02-01 21:27:16 +01:00
wescande
9641ed9dbb suppression d'un malheureux leaks + opti recursivite 2017-02-01 19:50:32 +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
wescande
43f1295324 finition sur le globbing (expansion des accolades, gestion des characteres echappe) => normalement aucun bug + mise a la norme 2017-01-31 23:25:41 +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
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
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
f81a51cdd8 others shebang ok 2017-01-22 22:55:34 +01:00
ariard@student.42.fr
133f4bf052 read script init 2017-01-22 00:38:27 +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
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
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
0ec9313b4c pretty stable version of job control, ready to merge 2017-01-10 11:32:02 +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
9367075a9f pipelines work. next step: handle trmcaps heavy programs like vim (used to work tho in foreground mode before) 2017-01-06 17:42:56 +01:00
Jack Halford
ca89fcf53d stuff 2017-01-03 18:47:41 +01:00
Jack Halford
d2982d89bc next to do: end of pipe doesnt terminate by itself 2017-01-03 15:36:53 +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
4c63c30b04 merge 2017-01-02 19:11:47 +01:00
Jack Halford
4dcf3c319c stuff 2017-01-02 19:09:08 +01:00
Jack Halford
14e5d176aa end of holidays commit 2017-01-02 17:22:50 +01:00
Jack Halford
c9a39637da pipeend and pipestart bits in process attribute, env problems solved 2016-12-22 11:44:44 +01:00
Jack Halford
6144e4eab5 gotta fix problem with env 2016-12-19 17:12:02 +01:00
Jack Halford
40378fec73 bit more stable 2016-12-18 13:13:01 +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
a948a65cbb merged 2016-12-13 13:00:28 +01:00
Jack Halford
160810b3bc stuff i did before pulling 2016-12-13 12:58:18 +01:00
Jack Halford
87b9fab083 gonna add processes inside of job 2016-12-12 23:56:05 +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
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