On Mon, 21 Mar 2016 23:27:25 +0100 ludo@gnu.org (Ludovic Courtès) wrote: > Hi Efraim, > > Thanks for your proposal! > > This project can be pretty fun, I think, and quite rewarding if it > indeed allows us to get rid of a bunch of bootstrap binaries. > > As I see it, the project covers mostly two areas: > > 1. Lexing & parsing. This compiler front-end will need a real parser > for the Bourne shell syntax, notably semicolon-separated command > sequences, pipes, brace-delimited blocks, functions, variables, and > ‘test’ and ‘[’. > > The available tools could be SILex + (system base lalr) (the latter > is part of Guile, the former is maintained separately; a copy can > be found in Guile-RPC for instance.) > > 2. Run-time support: redirections, pipes, background execution, C-c > (SIGINT) and C-z (SIGTSTP), globbing, and so on. > > Guile provides just the basic here, and a little more with (ice-9 > popen). Scsh and its Guile port(s) provide a lot of that, so it > might be a good idea to see what can be stolen from these. > > It may be that some of your CS classes cover some of this ground (a > fairly common programming project here at university is to implement a > small shell precisely because it covers several areas.) > > How does that sound? > > Perhaps one way to get started would be by looking at the available > tools for #1, and experimenting with hacks for #2, possibly borrowing > code from Scsh. > > Thoughts? Sounds like lots of fun, I'm really looking forward to it. And it sounds like I'll need to dive deeper into bash to see what I get to implement > > Thanks, > Ludo’. > > PS: Would be nice to have a second mentor on this, either officially or > unofficially (if you don’t want to have a to be known to Google…). > Any takers? :-) -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted