summaryrefslogtreecommitdiffstats
path: root/usr.bin/make/parse.h
Commit message (Collapse)AuthorAgeFilesLines
* Move the Boolean and ReturnStatus stuff from sprite.h to util.h andharti2005-05-131-1/+1
| | | | | | get rid of sprite.h. Obtained from: DragonFlyBSD
* Move the definitions of the OP_* constants from make.h into GNode.hharti2005-05-101-0/+18
| | | | | | | | 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)
* Make shellPath and shellName static - they're used in job.c only.harti2005-05-101-0/+8
| | | | | | | Move definition of parsing error levels from make.h into parse.h. Patches: 7.202,7.203 Submitted by: Max Okumoto <okumoto@ucsd.edu>
* Rework the directive parsing code. Instead of using a lot of strcmp()sharti2005-04-111-1/+0
| | | | | | | | | | | | 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.
* Make the structure for handling the input stack local to the parseharti2005-03-301-15/+1
| | | | | | | | | | | 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.
* Clean up include files and file including. Split nonints.h into piecesharti2005-02-011-0/+75
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>
OpenPOWER on IntegriCloud