[comp.sys.mac] Lisa Pascal Compatibility?

david@uhccux.UUCP (David Lassner) (09/14/87)

I've inherited a Mac application that was done in Pascal with the Lisa
Workshop.  I don't have a Lisa available, and would probably want to
move it to a native Mac development environment anyway.  I took a quick
pass at compiling it with LS Pascal, and found numerous
incompatibilities (external declarations, -exit- statement, type
coercion) some of which are non-trivial to rewrite.  So, a couple of
questions:

1) Is MPW Pascal compatible with Lisa Pascal?  Or at least more
compatible than LS Pascal?  
2) Is there a Pascal conversion utility similar to the one available
for porting assembler programs from Lisa's to MPW?  If so, is it any
good?

Any other advice from people who have done similar ports is warmly
solicited.  Thanks, David

-- 
David Lassner, University of Hawaii Computing Center, 808/948-7351
INTERNET:     david@uhccux.uhcc.hawaii.edu   PLATO: david/p/hawaii
UUCP:         {ihnp4,uunet,ucbvax,dcdwest}!sdcsvax!nosc!uhccux!david
BITNET/OTHER: david%uhccux.uhcc.hawaii.edu@rutgers.edu

storkel@rice.bitnet.UUCP (09/15/87)

MPW Pascal is very compatable with Lisa Pascal. This summer, I converted a Lisa
Pascal program that contained over 400k of source into MPW format. Just about
everything ran without a hitch. As I recall some of the compiler options were
different, or had been removed. It also seems that one of the logical bit
operators (BitAnd, or BAnd, or something like that) had to be changed.
     
I don't know of any program that automatically converts Lisa Pascal to MPW.
     
If you need anymore info, e-mail me.
     
     
Scott Storkel
Rice University Macintosh Software Development Team
(STORKEL@RICE.BITNET)
     

infinity@well.UUCP (sunny at Infinity Software) (09/15/87)

We've successfully converted one of our programs from
Lisa Pascal Workshop / The Lisa Assembler
	to
Mac Programmers Workshop Pascal / Assembler
and the only hacking we had to do on the Pascal was to
resolve labels of 8chars or more...
Lisa Pascal finds that
LabelABC is the same as
LabelABCD is the same as
LabelABCDE, whereas MPW Pascal finds these each to be unique.

Resoures are easily converted by DeRezing the resource fork of
your original applicatoin.

Sunny

-- 
Infinity Software, Ltd.
1144 65th St. #C
Emeryville, CA 94608
(415)420-1551 Voice; (415)420-1756 Data; USENET: infinity@well.uucp

lsr@apple.UUCP (09/17/87)

In article <3956@well.UUCP> infinity@well.UUCP (sunny at Infinity Software) writes:
>We've successfully converted one of our programs from
>Lisa Pascal Workshop / The Lisa Assembler
>	to
>Mac Programmers Workshop Pascal / Assembler
>and the only hacking we had to do on the Pascal was to
>resolve labels of 8chars or more...

One way to discover these problems is to run the MPW PasRef tool on the Lisa
Pascal source, and look at the output for potential variable conflicts.  (It
should be possible to write an MPW Shell script to locate these.)  Then you
can use the Canon tool to correct the identifiers.

-- 
Larry Rosenstein

Object Specialist
Apple Computer

AppleLink: Rosenstein1
UUCP:  {sun, voder, nsc, mtxinu, dual}!apple!lsr
CSNET: lsr@Apple.com

cck@cunixc.UUCP (09/17/87)

If you have assembler code, then if it must be non-a5 relative (e.g.
interrupt level routine), you must be careful about the way you define
it.  In particular, the standard coding methodology is something like:

	procn	proc	export
		data
		<data decl>
		code
		endp
but this ends up with a5 relative code.

recoding this as:
	someprocset	proc	export
		<data decl>
	procn:	<procedure code>
		endp
		
will give you non-a5 relative code.


Other than this, the problems with Band, etc (which as I remember,
actually only occurs with one release of MPW (1.0.2?)), different
include file locations, and non-truncated identifier names, I think
you'll find things pretty easy.

I've ported a 10K line program from Lisa Pascal to MPW in a couple of
days - the only major problem was because of the a5 relative
addressing in the assembler (it was ddp listener code that should not
have been a5 relative - this took a week to figure out - mostly
because I assumed that MPW did the right thing :-).

Charlie C. Kim
User Services
Columbia University