[comp.lang.pascal] Oregon Software's Pascal-2

ken@gatech.edu (Ken Seefried iii) (08/17/88)

I am interested in hearing what people who are using Oregon Software's
Pascal-2 compilers to develop large software systems think about the 
product and the company.

What extention to Pascal does Pascal-2 provide that people feel are 
valuble?  

How stable is the product?  How efficient?  How good is Oregon about
support issues?

Thanks for any info.  Respond by e-mail and I'll summarise if there is
interest.


	ken seefried iii	...!{akgua, allegra, amd, harpo, hplabs, 
	ken@gatech.edu		inhp4, masscomp, rlgvax, sb1, uf-cgrl, 
	ccastks@gitvm1.bitnet	unmvax, ut-ngp, ut-sally}!gatech!ken

	soon to be open: ...!gatech!spooge!ken (finally ;'})

art@buengc.BU.EDU (A. R. Thompson) (08/18/88)

In article <17368@gatech.edu> ken@gatech.edu (Ken Seefried iii) writes:
>I am interested in hearing what people who are using Oregon Software's
>Pascal-2 compilers to develop large software systems think about the 
>product and the company.
>
>What extention to Pascal does Pascal-2 provide that people feel are 
>valuble?  
>
>How stable is the product?  How efficient?  How good is Oregon about
>support issues?
>
>Thanks for any info.  Respond by e-mail and I'll summarise if there is
>interest.
>
>
>	ken seefried iii	...!{akgua, allegra, amd, harpo, hplabs, 
>	ken@gatech.edu		inhp4, masscomp, rlgvax, sb1, uf-cgrl, 
>	ccastks@gitvm1.bitnet	unmvax, ut-ngp, ut-sally}!gatech!ken
>
>	soon to be open: ...!gatech!spooge!ken (finally ;'})

Here in the VLSI CAD Laboratory at Boston University we use the Oregon
Software Pascal-2 compiler to develop CAD tools, a large programming task
if ever there was one.  The version we use runs on our Encore Multimaxes
and is supplied by them.  The processor is the National Semiconductor
NS32xxx series.

It implements the full ISO standard, including cantankerous arrays.  The
Encore version at least has a -berkeley switch that will cause it to
accept programs in berkeley Pascal.  It also has some useful extensions:

Otherwise clause in case statements and variant records,
Conformant array paarameters,
Underscore '_' in identifiers (anywhere, including first character),
Set types can have a maximum of 256 elements,
Program heading is not required,
Declaration order is relaxed, declare before use still enforced,
Structured constants,
Extended reset and rewrite e.g. reset(fname,'/dev/tty'),
Rename and delete procedures for files,
Direct access files, 'seek',
Close file procedure,
Break procedure to flush i/o,
Negative field width specifier in write causes hex output,
Boolean operations on integers,
Any number base in the range 2..16 e.g 16#f is decimal 15,
Extended range arithmetic, equivalent to C's 'unsigned',
Double precision real and integer arithmetic,
Origin declaration, define start of code segment (ugh),
Ref function with arguement T produces result of ^T,
Size and bitsize return storage sizes,
Loophole type coercion,
Directives: forward, external (allows seperate compilation), and nonpascal
(allows mixing foreign languages),
Functions can return structured results (VERY handy),
Time and timestamp procedures.
%include compiler directive,
own compiler directive, all variables declared 'own' are known only to the
compilation unit in which they occur.

I can't say enough good about the seperate compilation extension for large
programming, it's practically a must.  It is pretty straightforward to
create reusable, seperately compiled modules in a library.  It could be
done a little better, see the upcoming standard extended Pascal for a
better way, but this ain't bad, and (as they say) it works.

As I mentioned, we got ours from Encore and they do the service, so I
can't comment on Oregon's service.  Encore's service is just great.

Efficiency?  Well, you had to ask didn't you?  The compiler itself is
slow, although I'm told that's because the shell script that starts it is
slow.  The compiler itself is a little slow for my tastes, but it does so
much so well that I consider this a minor matter.  The generated code is
quite fast.

We are now beta testing release 4.0 and have found no problems (we
excersize most of it too).  It's my understanding that one minor error has
turned up elsewhere, but I don't know for sure.

The product is quite stable, if by that you mean new features etc.  New
releases have been appearing but that is for the purpose of including
features to allow full usage of the Encore's parallel processing
capabilities.

All in all I'm very happy with it and recommend it.

/Al Thompson