[comp.sys.apple] Orca/Pascal Problem

STEIN@UCONNVM.BITNET (Alan Stein) (06/21/89)

  I just got Orca/Pascal yesterday and have the following problem:  the
sample programs don't link successfully.

  Actually, the "sort.pas" program works, but the "bullseye.pas" doesn't
get through the second pass of the linker.  I get several "unresolved
reference label" errors involving "put2", "puts" and similar references.
It appears to involve output of character strings.

  To narrow things down, I tried running the standard "hello world" program.

  program test (output);                 program test2 (output);
  begin                                  begin
   writeln('Hello, world...');            writeln(5);
  end.                                   end.

  The program on the left failed the same way on the link step, while the
program on the right worked perfectly.

  Anyone have a clue?


Alan H. Stein              | stein@uconnvm.bitnet
Department of Mathematics  | stein%uconnvm.bitnet@mitvma.mit.edu
University of Connecticut  | ...psuvax1!UCONNVM.BITNET!STEIN
32 Hillside Avenue         |
Waterbury, CT 06710        | Compu$erve  71545,1500
(203) 757-1231             | GEnie       ah.stein

terrys@pro-europa.cts.com (Terry Stockdale) (06/22/89)

Comment to message from: pnet01!crash!cunyvm.cuny.edu!STEIN%UCONNVM.BITNET (Alan Stein)

Your problems with "unresolved reference label" and the PUTs sounds like the
one I had several months ago after updating with a new release of Orca/Pascal.

My problem turned out to be incompatible versions of the various supporting
routines in the ORCA/M and ORCA/Pascal packages.  I used InfoDesk (Prosel) to 
catalog the diskettes to my printer.  Then I very carefully loaded the LATEST
version of each file from whichever disk had it.  Voila!  A working
Orca/Pascal.  I, too, had been unable to say "Hello, World."

Now, if I could just learn Pascal...

bwm@pro-europa.cts.com (Boyd Meier) (06/22/89)

Comment to message from: pnet01!crash!cunyvm.cuny.edu!STEIN%UCONNVM.BITNET (Alan Stein)

  I had the same type of problem a coulpe of times, and I could never find a
real solution, however, the problem (if it is the same one appears to be
transient and seems to go away after I cold start the system.  I know there is
a major bug in linker v1.1, and I dont know whether that has anything to do
with it.  Also, I can't seem to get the sample 'FRAME.PAS' program to compile
at all.  It keeps smashing on a line right out of the manual:
  (something) := ord4(@'OK'); for a button text.  
Also on the subject of O/P, the associated Desktop program gives me all sorts
of grief, so much so in fact, that I've deleted it from all but my original
disks.

   - bwm
   at: bwm@pro-europa

m.tiernan@pro-angmar.UUCP (Michael Tiernan) (06/23/89)

Network Comment: to #1519 by obsolete!STEIN%UCONNVM.BITNET%cunyvm.cuny.edu

Check the order you have your lib files in path 2.  They should be
alphabetical, PasLib then SysLib.  If you create your own, they should be
first in line...


<< MCT >>

BCS Apple/Boston Connection     [MCT] (617) 893-5681
GEnie                           M.Tiernan
AppleLinkPE                     M Tiernan
BCS Net                         Michael Tiernan
obsolete!pro-angmar!m.tiernan@bloom-beacon.mit.edu
obsolete!pro-angmar!m.tiernan@bu-it.bu.edu
pro-angmar!m.tiernan@obsolete.uucp
m.tiernan@pro-angmar.cts.com

STEIN@UCONNVM.BITNET (Alan Stein) (01/15/90)

In the following Orca/Pascal procedure, the char variable 'c' read in
on line {1} seems to be ignored in line {2}, where none of the
alternatives are being executed no matter what keys I press for 'c'.
The value for 'c' is being correctly printed in line {3}.  I can't find
anything wrong.  Does anyone else see anything?


procedure doarithmeticoperation;
{perform an arithmetic operation mod m}
var     c:char;
        a,b,m,x:integer;

begin

writeln;
writeln('Calculate a OP b MOD m');
writeln;
write('Type in a:  ');readln(a);
write('Choose an operation -- a,s,m,e');readln(c);
write('Type in b:  ');readln(b);
write('Type in m:  ');readln(m);
readln(c);                                         {1}
if (c='a') then x:= a+b MOD m                      {2}
        else if (c='s') then x:= a-b MOD m
        else if (c='m') then x:= a*b MOD m
        else if (c='e') then x:= raise(a,b,m);
writeln;writeln('(',a,')',c,'(',b,') = ',x,' mod ',m);   {3}
end     {doarithmeticoperation};


Alan H. Stein              | stein@uconnvm.bitnet
Department of Mathematics  |
University of Connecticut  | Compu$erve  71545,1500
32 Hillside Avenue         | GEnie       ah.stein
Waterbury, CT 06710        | SNET        (203) 757-1231