上传者: crazy0man
|
上传时间: 2021-11-16 09:43:10
|
文件大小: 1.12MB
|
文件类型: -
Foreword
by Jack W. Crenshaw (the package’s readme.txt)
TUTOR.ZIP
This file contains all of the installments of Jack Crenshaw’s tutorial on compiler construction, includ-
ing the new Installment 15. The intended audience is those folks who are not computer scientists, but
who enjoy computing and have always wanted to know how compilers work. A lot of compiler the-
ory has been left out, but the practical issues are covered. By the time you have completed the series,
you should be able to design and build your own working compiler. It will not be the world’s best,
nor will it put out incredibly tight code. Your product will probably never put Borland or MicroSoft
out of business. But it will work, and it will be yours.
A word about the file format: The files were originally created using Borland’s DOS editor, Sprint.
Sprint could write to a text file only if you formatted the file to go to the selected printer. I used
the most common printer I could think of, the Epson MX-80, but even then the files ended up with
printer control sequences at the beginning and end of each page.
To bring the files up to date and get myself positioned to continue the series, I recently (1994)
converted all the files to work with Microsoft Word for Windows. Unlike Sprint, Word allows you to
write the file as a DOS text file. Unfortunately, this gave me a new problem, because when Word is
writing to a text file, it doesn’t write hard page breaks or page numbers. In other words, in six years
we’ve gone from a file with page breaks and page numbers, but embedded escape sequences, to files
with no embedded escape sequences but no page breaks or page numbers. Isn’t progress wonderful?
Of course, it’s possible for me to insert the page numbers as straight text, rather than asking the editor
to do it for me. But since Word won’t allow me to write page breaks to the file, we would end up
with files with page numbers that may or may not fall at the ends of the pages, depending on your
editor and