Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 (Tek) 9/26/83; site hammer.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!alberta!ubc-vision!uw-beaver!tektronix!orca!hammer!dce From: dce@hammer.UUCP (David Elliott) Newsgroups: net.unix-wizards Subject: Calling all make(1) gurus Message-ID: <473@hammer.UUCP> Date: Sat, 28-Jan-84 23:49:44 EST Article-I.D.: hammer.473 Posted: Sat Jan 28 23:49:44 1984 Date-Received: Tue, 7-Feb-84 08:02:14 EST Organization: Tektronix, Wilsonville OR Lines: 20 While looking around in the code for make (Vax 4.2BSD), I noticed some strange things about the lexical analyzer. The characters :, ;, space, tab, and newline are all considered characters that delimit file names in the dependency line. I understand this, but in addition, the characters >, &, and | are also considered word terminators. Does anyone have any idea why these three characters are considered as terminators? If I put them in a dependency line, I get syntax errors. The lexical analyzer is the only piece of code that looks at terminal characters, and it seems to ignore & and |. It does process >, but the parser doesn't know what it means and gives a syntax error. Is this historical? Was there a time when those three characters were not allowed in file names. Were there features of make which used these three characters as special control characters? Any ideas? David Elliott tektronix!tekecs!dce