mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 16:34:07 +00:00
217 lines
7.4 KiB
Plaintext
217 lines
7.4 KiB
Plaintext
.he "C68 Preprocessor"Change Log"Page %"
|
|
.de bg
|
|
.sp
|
|
.in +5
|
|
..
|
|
.de eg
|
|
.sp
|
|
.in -5
|
|
..
|
|
1. 4/20/82 - Long string bug
|
|
.bg
|
|
No error message for long string, caused in getstr checking for
|
|
"i-- > 0" then "i == 0". Also increased TOKSIZE to 300 to match
|
|
setting in parser.
|
|
.eg
|
|
2. 4/21/82 - Invalid characters not invalid
|
|
.bg
|
|
It was assumed that the only characters that would go thru the
|
|
preprocessor were those that were valid for the compiler. Using
|
|
preprocessor with the assembler (i.e. #define x $1) does not
|
|
work. Fixed cmap table.
|
|
.eg
|
|
3. 4/26/82 - Assembler temps not being deleted
|
|
.bg
|
|
Main not deleting assembler temps if more than one C file specified.
|
|
Added unlink to delete assembler temps.
|
|
.eg
|
|
4. 4/28/82 - Preprocessor enhancements
|
|
.bg
|
|
Changed '-D' flag to '-N' flag, Added '-D' flag to define a name.
|
|
Added built-in macros Newlabel[(num)] and Label[(num)] to
|
|
generate label numbers for assembler.
|
|
.eg
|
|
5. 5/8/82 - Added handling of ".s" files
|
|
.bg
|
|
Added code to check for ".s" files, which go thru the preprocessor
|
|
and then thru the assembler.
|
|
.eg
|
|
6. 5/8/82 - Suppress '\01' on macro file for -P flag
|
|
.bg
|
|
Added check in domacro to check for pflag, and if it is on, suppress
|
|
the outputting of '\01' to expanded macro file.
|
|
.eg
|
|
7. 5/20/82 - defines gobbling up parenthesised expressions
|
|
.bg
|
|
the syntax: #define x 1 (newline) x(1) resulted in only "1". This was
|
|
because expand always checked for a left parenthesis for any macro name.
|
|
Added NOARG flag at beginning of macro or argument count in dodefine
|
|
(although this is not used). The arguments are only collected if there
|
|
were args (or left parenthesis-right parenthesis) seen on the macro
|
|
definition.
|
|
.eg
|
|
8. 6/7/82 - multiple assembler files leaving temps
|
|
.bg
|
|
If more than one assembler file was given, the macro temp file was left.
|
|
Fixed problem in main.
|
|
.eg
|
|
9. 7/8/82 - added one pass logic
|
|
.bg
|
|
Added logic in main to add the "-1" flag, which runs the one pass
|
|
parser and code generator, which is 10% faster.
|
|
.eg
|
|
10. 7/17/82 - "-o" flag wiped out C file
|
|
.bg
|
|
The command "c68 -o x.c" would wipe out x.c.
|
|
Added code to main to check argument given for -o flag, made output file
|
|
the file name stripped of the ".c" or ".s".
|
|
.eg
|
|
11. 7/28/82 - checked for rubouts ignored
|
|
.bg
|
|
C68 was unconditionally catching rubouts whether its rubout signals were
|
|
ignored or not.
|
|
This had the (unfortunate) side effect of killing C68 in background
|
|
when you did a rubout from the terminal.
|
|
Added check to signal call to check if signal was ignored, and if so
|
|
the ignore condition was restored.
|
|
.eg
|
|
12. 8/26/82 - libraries not being handled properly
|
|
.bg
|
|
The -lX flag would be placed at the beginning of the loader's argument
|
|
list, thereby missing the library.
|
|
Changed main so that the loader arguments would be passed in the same
|
|
order as the c68 command line and the c068.o would be added before the
|
|
first .o file specified.
|
|
Also checked for: -o x.o and stripped off .o for output file name.
|
|
.eg
|
|
13. 9/1/82 - changed misleading "can't fork" message
|
|
.bg
|
|
Changed message in fexec so that "can't fork" message is now
|
|
"can't maketask [filename]".
|
|
This is to keep John Happy...
|
|
.eg
|
|
14. 11/15/82 - Multiple compiles define carry overs
|
|
.bg
|
|
The symbol table was not being cleared of defines which occured in
|
|
previous source files in a multi-source compile.
|
|
.eg
|
|
15. 11/15/82 - Paths of generated files
|
|
.bg
|
|
All files are now generated in the users current working directory
|
|
instead of the source directory by default.
|
|
.eg
|
|
16. 11/24/82 - Include file search paths
|
|
.bg
|
|
Added the -Idir flag to enable the user to alter the search path.
|
|
Also added searching of the parent directory of include files
|
|
specified using quotes.
|
|
.eg
|
|
17. 12/2/82 - Include file error messages
|
|
.bg
|
|
Added the include file name and line number to the preprocessor output
|
|
in order to generate error messages which specified the exact location
|
|
of errors which involve include files. Also suppressed output of
|
|
empty include file lines to the preprocessor temporary output file.
|
|
.eg
|
|
18. 12/28/82 - Temp files generated in the current directory
|
|
.bg
|
|
In generating all other files into the current directory the temp files
|
|
also were generated there.
|
|
.eg
|
|
18. 1/7/83 - Floating Point flags
|
|
.bg
|
|
Added the -e and -f flags for specification of the IEEE or FFP floating
|
|
point packages (constant evaluations and libraries).
|
|
.eg
|
|
19. 1/17/83 - Optimization flag
|
|
.bg
|
|
Recognize the -O optimization flag and ignore it.
|
|
.eg
|
|
20. 1/20/83 - Compatibility flags
|
|
.bg
|
|
Added the -3, -5, -6, -7 flags for system 3, system 5, version 6 and
|
|
version 7. Adds an include file on the search list, as well as a
|
|
default library.
|
|
.eg
|
|
21. 1/24/83 - include file error messages
|
|
.bg
|
|
Added explicit line number and file name's within the error messages if
|
|
processing an include file.
|
|
.eg
|
|
22. 1/24/83 - Symbol Table overflow
|
|
.bg
|
|
Added clearing of the symbol table between compiles (c68 *.c).
|
|
.eg
|
|
23. 2/7/83 - Preprocessor error status
|
|
.bg
|
|
If error's occurred in the preprocessor pass the exit status wasn't
|
|
reflecting it.
|
|
.eg
|
|
24. 2/22/83 - #line macro
|
|
.bg
|
|
Implemented the "#line LINENUM [FILENAME]" macro.
|
|
.eg
|
|
25. 2/23/83 - "-E" option flag
|
|
.bg
|
|
Implemented the "-E" flag, only the preprocessor is executed and the
|
|
output is written to the standard output device.
|
|
.eg
|
|
26. 3/3/83 - bus error on non-existent file error message
|
|
.bg
|
|
Error required certain variables to have been initialized in order to
|
|
generate the filename and the line number on which the error occured.
|
|
.eg
|
|
27. 3/28/83 - added two predefined macro's __FILE && __LINE
|
|
.bg
|
|
Added the two macro's __LINE and __FILE which are respectively
|
|
interpreted as the current line number and the current file name.
|
|
They may be redefined if desired as this test takes place after
|
|
the user defined macro expansions.
|
|
.eg
|
|
28. 3/29/83 - embedded macro arguments
|
|
.bg
|
|
Arguments from #define macro's which are not individual tokens but which
|
|
are embedded in quoted or non-quoted strings are now being expanded.
|
|
.eg
|
|
29. 3/29/83 - white space in macro call [vlh] 4.1
|
|
.bg
|
|
Allows tabs and spaces between a macro call identifier and the left
|
|
parenthesis associated with it's argument list.
|
|
.eg
|
|
30. 4/29/83 - embedded macro arguments [vlh] 4.1
|
|
.bg
|
|
An underscore '_' is no longer seen as a legitimate symbol separator.
|
|
Macro's which are embedded in strings are now expanded properly.
|
|
.eg
|
|
31. 6/13/83 - split preprocessor from main driver [vlh] 4.2
|
|
.bg
|
|
For more flexibility...
|
|
.eg
|
|
32. 7/6/83 - #line [vlh] 4.2
|
|
.bg
|
|
A blank line was not being added to the file for each line which was being
|
|
redirected or for the #line macro, and so for each case the line number
|
|
would be off by two from the original file and error's reported would
|
|
have the wrong line number associated with them.
|
|
Reworked the way #line was being handled. Now works properly if the line
|
|
referenced has a macro on it. Does not lose lines.
|
|
.eg
|
|
33. 7/15/83 - '-C' option [vlh] 4.2
|
|
.bg
|
|
Added the '-C' option to the preprocessor. This caused a major rewrite of
|
|
the way include files and the #line option were handled. The preprocessor
|
|
now outputs lines of the form: # 45 "file.h" for each include file, plus
|
|
one at the top of each source file, and one after each return from an include
|
|
file. The '-C' flag causes comments to be left in the output.
|
|
.eg
|
|
34. 7/18/83 - arguments [vlh] 4.2
|
|
.bg
|
|
The arguments are now handled as "cpp -[args] source". The destination
|
|
file is no longer required, the results are always written on the '.i'
|
|
name of the source.
|
|
.eg
|
|
35. 7/20/83 - -I option [vlh] 4.2
|
|
.bg
|
|
The concluding slash is no longer required.
|
|
.eg
|