summaryrefslogtreecommitdiff
path: root/usr.bin/make/parse.h
AgeCommit message (Collapse)Author
2015-06-16Remove old fmake. It wasn't built by default for some time. Users thatWarner Losh
really need it can find it in the devel/fmake port or pkg install fmake. Note: This commit is orthogonal to the question 'can we fmake buildworld'. Differential Revision: https://reviews.freebsd.org/D2840 Notes: svn path=/head/; revision=284464
2005-05-13Move the Boolean and ReturnStatus stuff from sprite.h to util.h andHartmut Brandt
get rid of sprite.h. Obtained from: DragonFlyBSD Notes: svn path=/head/; revision=146177
2005-05-10Move the definitions of the OP_* constants from make.h into GNode.hHartmut Brandt
where they actually belong to. Move the definitions of the strings for special macros like "$*" from make.h to parse.h - they're used only in the parser. Submitted by: Max Okumoto <okumoto@ucsd.edu> (7.211) Notes: svn path=/head/; revision=146066
2005-05-10Make shellPath and shellName static - they're used in job.c only.Hartmut Brandt
Move definition of parsing error levels from make.h into parse.h. Patches: 7.202,7.203 Submitted by: Max Okumoto <okumoto@ucsd.edu> Notes: svn path=/head/; revision=146059
2005-04-11Rework the directive parsing code. Instead of using a lot of strcmp()sHartmut Brandt
on every line that starts with a dot use a minimal perfect hash function and a single strcmp() on the first word after the dot to find out whether it is really a directive call and, if yes, which one. Then directly dispatch to a handler function for that directive (or fall through to the dependency handling code). This makes the directive parse a little bit more strict about the syntax: the directive word must be followed by a character that is not alphanumerical and not an underline (making .undefFOO illegal); .endif and .else can only be followed by comments. Notes: svn path=/head/; revision=144894
2005-03-30Make the structure for handling the input stack local to the parseHartmut Brandt
module. The only module accessing it (the current line number) was the condition module, so pass the current line number as a function argument. Centralize the pushing of new input sources into one function ParsePushInput() and rename the function handling the popping from ParseEOF() to ParsePopInput(). Make the entire thing a little bit clearer, by holding the current input source in the top element of the stack instead of using extra variables for this. Use a type-safe intrusive list for the input stack. Notes: svn path=/head/; revision=144341
2005-02-01Clean up include files and file including. Split nonints.h into piecesHartmut Brandt
that get included just where they are needed. All headers include the headers that they need to compile (just with an empty .c file). Sort includes alphabetically where apropriate and fix some duplicate commenting for struct Job, struct GNode and struct Shell by removing one version and inlining the comments into the structure declaration (the comments have been somewhat outdated). This patch does not contain functional changes (checked with md5). Submitted by: Max Okumoto <okumoto@ucsd.edu> Notes: svn path=/head/; revision=141104