66
77- [Nov 12, 2018] added redirection and pipe details, new paragraph
88 "PROHIBITED FUNCTIONS", and limiting the language to C (i.e. no C++).
9+ - [Dec 5, 2018] added more specific information on what we counted in
10+ the line count for our implementation of the project. Also added a
11+ note on BSD libedit.
912
1013When you are done, we prefer to get a link to you github project but you
1114can send it to us via email (a single tar file) as well. Your project
@@ -48,7 +51,9 @@ one might think).
4851For getting the input line, we recommend the "readline" library, see
4952"man readline". You should find it on any Linux, *BSD, MacOS, or
5053Solaris machine. By using readline, you get line editing, history,
51- completion, etc. for free. Another alternative is libtecla.
54+ completion, etc. for free. Another alternative is libtecla. There is
55+ also BSD libedit (https://man.openbsd.org/OpenBSD-6.0/el_init.3) but I
56+ have never used it so I cannot really recommend it.
5257
5358For tokenizing and parsing the command line, we suggest you to use
5459GNU flex(1) and bison(1). They are easy to use and you should also find
@@ -63,9 +68,10 @@ See "man queue" for more information. STAIL_* and TAIL_* macros should
6368be all you need.
6469
6570FYI, our implementation of the 1st phase is 560 lines long, including
66- flex and bison source files, and using the usual C style from
67- http://mff.devnull.cz/cstyle/. Our complete implementation including
68- the 2nd phase requirements fits within 900 lines of code.
71+ flex (.l) and bison source files (.y) but NOT including the C parser
72+ code generated from our .l and .y files, and using the usual C style
73+ from http://mff.devnull.cz/cstyle/. Our complete implementation
74+ including the 2nd phase requirements fits within 900 lines of code.
6975
7076IT GOES WITHOUT SAYING IT IS AN INDIVIDUAL, NOT A TEAM PROJECT. DO NOT
7177USE CODE WRITTEN BY OTHER FELLOW STUDENTS. THE IDEA IS YOU LEARN BY
0 commit comments