[net.micro.pc] IBM Pascal Problems

arbab%USC-CSE@USC-ECL.ARPA (03/13/84)

I am having problems with the IBM Pascal 1.0 and would appreciate
any hints, pointers, etc.
	
     1. I have a program that goes through pass 1 without
	any errors or warnings, but gives a "compiler internal
	error" in pass 2.
	The only things in the program that may be considered
	"funny" are use of units and a bunch of string manipulation
	procedures (standard), which should not matter at compile
	time anyway.

	I tried juggling the program around, commenting out segments
	of source code, systematically deleting source code, replacing
	procedure bodies with single writeln statements, and never
	got through the second pass. If I am lucky, I get one of these
	error numbers: 100, 101, 116, 180, 186, etc., otherwise all
	I get is "Error: Compiler Internal Error, Contact Technical
	Support".

	I finally took out all unit, extern, public, etc., reduced it
	to a very simple program, and then cut it down to the point
	that I got it to compile by deleting one of my variables and
	the couple of statements referring to it. Deleting the same
	variable from the original program does not work, though.

   	I do not believe it is the length of the program (about 10
	pages of source listing) as I have successfully compiled
	larger ones. I think I am somehow pushing the compiler
	beyond one of its internal size limits (too many variables
	with birthdays in October, perhaps...) but after wasting
	a perfect weekend, I could not see any pattern to what
	bothered the compiler. WHY ISN'T THERE ANY MENTION OF SUCH
	INTERNAL ERRORS AND THEIR CAUSES IN THE MANUAL?

     2. It seems like both passes of the compiler and the linker
	are "hard-wired" to run from the A diskette. This is very
	annoying when you have a hard-disk or extra memory to use
	as RAM-disk and you cannot transfer Pascal to run from
	either. Is there any way to make the compiler run from
	another disk? Maybe there have been discussions on this
	issue before, but, again, WHY ISN'T THERE ANY EXPLICIT
	MENTION OF THIS IN THE MANUAL?


Farhad Arbab

jph@whuxle.UUCP (03/19/84)

#R:sri-arpa:-1759100:whuxle:22700022:000:771
whuxle!jph    Mar 19 09:28:00 1984

The problem with getting PASCAL to run from other than the
A: drive has to do with reading in of the file PASKEY(sic, I
don't have a directory listing handy so I don't know the
exact name). To get around the problem, you have to patch
the name in PAS1. To do this, rename PAS1.EXE to PAS1.XYZ,
then:

	debug pas1.xyz
	s 0 l ffff 'PASKEY'       ;this searches for the
			         	file name

when you find the name, it should have A: at the front.
Replace this with B: (or whatever other disk you want) and
the write the file back with the 'w' command. Rename
PAS1.XYZ back to PAS1.EXE and you are in business. You may
also want to search for PASCAL.LIB which is fixed for the A:
drive and change this to another. If the library is on RAM
disk, the LINKs go a lot faster.

djb@gatech.UUCP (David J. Buechner) (03/24/84)

There is a hex patch in the DOS 2.0 manual (Appendix J) which will allow the
Pascal compiler to run as long as PASKEY the file is in the current directory.

I would reproduce said patch here except for uncertainties about copyrights.

----------

Oh I wish I had a 10MB hard disk....... (to the Oscar Myer theme song)


David Buechner
UUCP : ...!{akgua,allegra,emory,rlgvax,sb1,ut-ngp,ut-sally}!gatech!djb
ARPA : djb.gatech@CSNet-Relay                   CSNET : djb@gatech

Federal snail : Ga. Tech P.O. Box 33336, Atlanta, Georgia 30332