It- r;11dI1~~~ '10.00 PASCAL USERS G;OUP ~ Pascal News Communications about the Programming Language Pascal by Pascalers I I
. Pascal Processor Validation Procedure . A Better Referencer . Use of Generic Capsules . Implementation Reports . Validation Suite Reports . Announcements
I
r
Number 25 APRIL83 , I
POUCY: PASCAL NEWS (Jan. 83) .Pascal News is the official but Informal publication 01 the User's Group. Pascal News Purpose: The Pascal User's Group (PUG) promotes the usa 01 the programming language Pascal as well as the Ideas behind Pascal through the vehicle 01 Pascal News. PUG is intentionally de- Communications about the Programming Language Pascal b~ PasCalers signed to be non political, and as such, tt is not an "entity" which takes stands on issues or support causas or other ellorts however well-intentioned. Inlormality is our guiding principle; there are no olficers or meetings 01 PUG. APRIL 1983 Number 25 The increasing availability 01 Pascal makes tt a viable alternative lor software production and justifies hs further usa. We all strive to make using Pascal a respectable activity.
Membership: Anyone can join PUG, particularly the Pascal usar, teacher, main- teiner,lmpIementor, distributor, or just plain Ian. Memberships !rom IIbreri88 are aIeo encouraged. Sea the COUPON lor details. 2 EDITORS NOTES .Pascal News Is produced 4 times during a year; January, AprIl, July October. . All THE NEWS THArS FIT, WE PRINT. Please send material (brevity is a virtue) lor Pascal News single- 3 PASCAL USERS GROUP (UK) spaced and camera-ready (usa dark ribbon and 15.5 em linasl) 3 LT. and M.I.S.S. By PhillipDarrington 4 Pascal-AnEffectiveLanluaae StandardBy Brian Wichmann . Remember: ALL LETTERS TO US WILL BE PRINTED UNLESS THEY CONTAIN A REQUEST TO THE 8 Pascal ProcessorValidationProcedureBy DavidBlyth CONTRARY. SOFTWARE TOOLS . Pascal News is divided into ftexible sections: 12 A Better Referencer By J. Yavner 18 The Use of Generic Capsules with the University of Minnesota Pascal 6000 Compiler POLICY - explains the way we do things (ALL-PURPOSE COUPON, etc.) By Frank L. Fri~dman, Alns;o Giacomucci, Carol A. Ginsburg and Anita Girton ANNOUNCEMENTS EDITOR'S CONTRIBUTION - passes along the opinion and point of view of the editor together with changes in the mechanics of PUG operation, etc. 24 PACS Computer Game Festival 24 Oh! Pascal! 2. New Modula-2 Versioo APPLICATIONS presents and documents source programs written in Pascal for various algortthms, and - 2S New Ticomm Microcomputers software tools for a Pascal environment; news of significant applications programs. Also critiques regarding 25 Edison on IBM Penon.1 Computer program/algorithm certification, performance. standards conlormance, sty1e,output convenience, and general 25 JRT Pascal design. 7T Pascal Compiler for IBM Mainframe 28 Great Plains Announcement ARTICLES - contains formal, submttted contributions (such as Pascal philosophy, use of Pascal as a teaching 28 INMOS Announces OCCAM tool, use of Pascal at ddlerent computer installations, how to promote Pascal, etc.). 30 Tiny Pascal Plus 30 Help Wanted 30 Ridse Thirtytwo Graphics OPEN FORUM FOR MEMBERS - contains short, informal correspondence among members which is of intenlSl to the readership of Pascal News. 32 VAUDATION SUITE COUPON IMPLEMENTATION NOTES - reports news of Pascal implementations: contacts for maintainers, implemen- 33 IMPLEMENTATION REPORTS tors, distributors, and documentors 01various implementations as well as where to send bug reports. Qualitative and quanmative descriptions and comparisons 01 various implementations are publicized. Sections contain 48 MachineInde. information about Portable Pascals, Pascal Variants, Feature-Implementation Notes, and Machine-Dependent Implementations. 47 VAUDATION SUITE REPORTS 47 HP 3000 Series 33 VALIDATION SUITE REPORTS - reports performance of various compilers against standard Pascal 51 Intel 8085. ZilOJ 80 (CoJitronics) ISO 7185. 52 IBM 370 (AAEC) 88 Pascal 1100 88 fBM 4341 80 VAX )).780 82 BACK ISSUE COUPON
.. MEMBERSHIP COUPON I
J
I.Id- '. .AI. &1M-9'--, Cf/- ~ (0/1:Yf)9--' Cf/- ~ (U) 9--' Cf/- ~ (U) 9--' Cf/- ~ (0/1:. Pascal Users Group (U.K.) Good Members Hello; bers and also provide an air mail option for those who I now have control of most elements of Pascal need Pascal News as quick as possible. Pascal News 23a is a supplement, to plug the IJll8line the disappointment at faililla to fiDeIany- News and future submission articles, comments and Writing of timeliness I am reminded that the news- gap good jokes should be addressed: letter has deadlines. These are January 1st, April 1st, lellJllhening between US originating 23 and 24. tbina innovative or even mildly interesting. Discovered July 1st and October 1st. When you have material for Readers will note that its contents are quite different that with a single exception, exhibitors did not know Pascal News the newsletter please send it as quick as possible. Do from those of previous editions. There is a shift of em- whether standard Pascal was implemented on the ma- 2903 Huntington Road phasis from matters of concern at leading edge Uni- chiDes offered to the public. More than one of those Cleveland, Ohio 404120 not worry about the deadlines but keep in mind news versity level, to those of concern to producers and users loses its value as it matures. asked, replied "Yes, it's called UOCS or something like Our United Kingdom and European elements are I will continue to publish implementation notes and of inexpensive standardized products. that". At one stand, sponsored by British Petroleum, thriving and boisterous. announcements of the trade. I encourage members and That shift has been wholly dictated by the content the Department of Trade and Industry, the Council for of material submitted for publication. Whether it is a Educational Technology, and others, an 'expen' merely PUG (UK) PUG (Eur) vendors to test drive their new compilers with the temporary side-step or a permanent change, will also P.O. Box S2 ARGE Pascal "Validation Suite". Send the repons to me and then we looked blank and sugested that I ask someone else. will all know the best performing compilers. be decided by contributors (to future editions). 'Someone Else' replied "We are only interested in Pinner Hellmut Weber PUG(UK) is the servant of you the subscribers and as thinp for use in Education". AI the National Comput- Middlesex HAS 3FE Degenfeldstrasse 2 I have been asked if we would pay for anicles. I such, will publish material originating from any section ilia Centre stand, 8IIOther expen, when asked if his U.K. D 8000 MUnchen 40 have thought about this and worried where I would get - the money. of the user community. staDd offered any information about standard Pascal These groups should be excellent sources .of local I have decided to accept advenising and use this We are all indebted to each contributor but Tony and its implementation or use in a microcomputer en- and international information. money to pay honorariums to writers of good anicles. Heyes's generosity in offering his Bibliography suite of vironment, replied "No, there is no demand", deftly We have lost an element and have no successor. programs for refinement through the medium of PN is A reminder that back issues will reflect higher re- followed by "Can I help you sir?" to someone standing PUG (Aus) has experienced increased costs and de- printing costs and have a $2S per s~t price after July 1st particularly appreciated. Constructive critiques are behind me. In some instances, the initial answer was cided PUG (USA) could suppon them with little loss Its still a bargain at $1Snow. welcome. "Yes", foUowed by misrepresentative flannel when a of timeliness. I would like to thank them for their past One more thing. Thank you for your renewals and There is a widening of the user base and an overdue demonstration was requested. performance. I am sorry I did not have the opponunity lovely comments. I have been encouraged by your deployment of resources to that end, evidenced by the Met a auy who holds a powerful position in the to work with them. thoughts. complementary nature of anicles from widely differing IarJest education authority in Britain. He believes that PUG (USA) will now serve various needs. sources. Read on and judge for yourselves. Although BASIC is an "appropriate" language for the "mass" We now serve inside USA and outside USA mem- Charlie you will find that 23a is pitched at quite a different level of youag people who "won't bother" to become seri- from that of your usual expectations of PN, I sincerely ously interested in the technoloay. I should admit at this hope that you will welcome it as a stop-gap until 24 be- point, that had my first experience of a perception of comes available from Rick, Andy, and Co. nuochineintelliaence been through the medium of BASIC The following is offered as an illustration of the (or COBOL, FORTRAN, etc.), I miaht easily have scene which prompted the production of a supplement, joined the ranks of those who either "won't bother" or Intrigued by advenising which referred to "mere are auitably unimpressed by obscure combinations of humans", I went along to the personal computer show hunches, guesses, and a duh of porceptual skiUwhich Dear Pascalers, two Pascal implementations which use one name (ap- at the Barbican on September 12th. only occasionally fails. PUG pend) for two non-standard predefined procedures doing here we are reopening PUG Europe: Lor + Manha + different things (append one string to another versus Erwin + Hellmut + open a textfile for appending text). Jurgen + Manfred + To increase the market place function of Pascal I.T. and M.I.S.S. Urf (Korbinian). News we should like to ask everybody who provides a Pascal source for publication to state whether he/she We are Pascal fans and users from the university ~_. is willing and/or able to distribute this source in ma- a.produeed with PIIIIIIp D8niIIpoa's pennilllloa and industry who are organizing in our spare time the chine readable form (or even as a well readable listing) distribution of Pascal News for the European region. and if so at what cost. From our viewpoint. being mainly Pascal users, we Lastly we would like to ask all those wishing to would like to encourage you to help in keeping Pascal contact us to use our official address: One of the aims of Information Technoloay Year -loria!, textual and numerical information by a micro- News a living forum, a market place for all Pascal users. and the Microelectronics Education Programme is to electronics-based combination of computing and So here again is a call for papers and programs. There ARGE Pascal Hellmut Weber involve schoolchildren in the use of microcomputen telecommunications" appean to encompass most of are cenainly many tools, especially for text processing, and related electronic devices. There are the M.E.P., the IICtivities of the average person, except eatina and which are of interest for the Pascal community, maybe Deaenfeldstrasse 2 D 8000 MUnchen 40 the Micros in Schools Scheme, exhibitions and events one or two other processes, although the use of a com- for simple use, maybe in order to compare ideas about - throuahout the year and beyond. It is, perhaps, fonun- puter is not often considered essential to the more basic problems which many of us may already have encoun- and not to send registered letters. (We had some prob- ate that Mr. Callaahan happened to be watching tele- ofthese. tered. And think about all the programs for solving the lems, as there is no Mr. Pascal to claim them.) If you vision on the evening the programme "Now the Chips So far as its Involvement of schoolchildren is con- daily commercial problems. want to send us money for subscription please use our are Down" was broadcast and was spurred into action cerned, the publicity is decidedly shrill, the Minister's Another subject which we think imponant is doc- postgiro account. Munchen SIS89--801 or send an Eu- then, or we would probably find the propaganda even aim being to have a compoter in every secondary school umentation. If you have to (or like to) use non-standard rocheque and please take note that any other form of more frenetic than that now being put out by the en- by the end of the year and even to think about providing features mentioning those increases ponability. An ex- payment means additional paperwork for us. ergetic Mr. Baker, the prophet of IT. them for primary schools. treme e>tample of the necessity of documentation are Stay happy with Pascal! Information Technology is a curiously dif'fi.osename There can be no argument that youna people must for a Year. The official definition, "the acquisition, pro- be aware of computers and how to use them, but it does cessing, storage. dissemination and use of vocal. pic- seem possible that the present blaze of publicity tends 2 Complier. Note. PUG(UK) 3 j I j
Errore to obscure the point that computers are a means, not one of its terminals or even a micro owned by a pupil cludes incorrect programs which must be rejected: 1. ,.09'" _~ _tUft outP'R...... _... ,10end. There is also the question of how the micros are or teacher) can be used naturally, as is a dictionary or ones to examine the error-handling capability of a :.. nil cannot... U88d.. 8fti"'tlfler (it 18. to be used in schools. pocket calculator or a video recorder, it wiu dominate compiler, and the "quality" of an implementation. WOd). According to the fifth edition of the Concise Ox- the learning process. Utmost priority should be given The quality tests indicate if there is any small limit J. . 18 written.. u (not equa18). ford Dictionary (now, admittedly, modified), a com- to teachers from all disciplines, from home economics to the complexity of programs that a system can han- t, nil CAnnot follow ... .1.... dle and also assesses the accuracy of real arithmetic. I. I d8ci811poln~ _ follow I dl.l~. ruter is "a calculator - an electronic calculating ma- to athletics, to use the computer as an aid, rather than chine" - an unfortunate description, taken too literally as a distraction, so that pupils who are not to specialize All the major components to make Pascal a good oy at least some of those responsible for introducing in science or engineering can see that it is of advantage Standard are now available, that is, a Standard defini- youngsters to computing, with the result that the school to them to he at ease with computers, but no more than tion and tests to verify conformance of a compiler to The corrected procr&8 Is: micro is often given to the senior math teacher to guard that. the Standard. ------The Inner London Education Authority is aware with his life, presumably on the grounds that computers A Standard and tests to check conformance to the prolr.. t.e.t (out.put.) , are electronically mathematical and possess no rele- of these problems and is educating teachers in the use Standard are not alone quite sufficient. The test pro- conat. vance to any other subject. of computers so that, even though there may be only cedures must be used and results made known to those n111 . i In other schools, the computer is treated as a kind one micro or terminal in the classroom, the pupils wiu using Pascal compilers. This can be achieved by inde- boa1. '0' totem, and the pupils are taught "Computer Stud- learn the place of a computer by, to use ILEA's word, pendent testing of compilers which is currently being It' nUl (> lh.n "f wrlteln( '0''WRONG', n111, 0.12]) Ies", As a subject, computing (meaning programming) "osmosis". However, there is evidence aplenty that investigated by BSI (Hemel Hempstead). BSI have a 01.. IS a singularly empty one, unless the pupil learning it education authorities in other areas are either hypno- wealth of experience with testing other goods but this wrlteln( 'lICHT' ) mtends to become a programmer. A computer is an aid tized or revolted by the new equipment and, accord- is their first venture into computer software. For this ond. ingly, either enshrine it or pass it to the school computer to the process in which it is used - in this instance, reason, both NPL and NCC are assisting BSI in this -----..------learning - and an element of transparency to the user fanatic to impress people with. important development. In short, a computer is a useful tool, but that is all rather than an obscuring of the subject by undue atten- The last step in this process is to encourage users Although this test is only an illustration, it does lion to the computer must be the aim. it is: it can help or it can dangerously hinder learning, to request a Standard compiler from the suppliers and show the wide ranging capabilities of current compi- Clearly, an overnight transformation, after which and only the education of teachers in its natural use as for suppliers to meet that demand. As a contribution to lers. The results of compilers tested so far can be sum- every teacher would be using a micro as to the manner an aid can decide which. PUG this last step, NPL held a conference on this topic with marized thus: horn, is hardly feasible. But, until the school micro (or its collaborators. Professor Arthur Sale from the Uni- versity of Tasmania addressed the conference making 11'1'01'. AccuraoJ' ot' ".ooy.r, t're. it an international event. The other key speakers were d..t.ecled .rror ..SNles lasl error John Charter from BSI who described how a validation , , Pascal - An Effective Language Standard service run by BSI would work. Professor Jim Welsh A 3 from UMIST who described how the Standard can be B 2.5 2 3 C 2 2 Brian A. Wlchmann,6/5/82 implemented and Lyndon Morgan from NCC who de- ~D 1 2 , scribed a guide written to support the test procedures. E 2.5 3 2 Also Barry Byrne, from ICL explained how the pro- F 3.5 ,3 3 vision of a standard compiler for Pascal is advantageous a '.5 , ,3 Over the last few years, the programming language I. The Pascal standard is more comprehensive than in both marketing and for internal use. Mr. Ken Thomp- H 5 3.5 1 2 Pascal has grown in popularity very greatly. It is widely that of COBOL or FORTRAN. For instance, the son from the European Commission explained the use- I ",ed for teaching in Universities, is available on most COBOL and FORTRAN standards do not require fulness of international standards within the Commu- micro-processors and main-frames as well. In fact, Pas- that an invalid program is rejected by a compiler. nity and some of the problems in their effective cal is one of the few languages that form a bridge be- The Standard for these languages is just a definition All the marks are out of 5. The half marked for de- exploitation. tecting an error indicates that the error message was tween microprocessor systems and the main-frame , of a language rather than a set of requirements for world, confusing enough for it to be unclear if tbe error was a compiler. This is clearly not very satisfactory since ------properly detected. Naturally, tbe last two columns are Until recently, there has been one drawback to we all write incorrect programs on occasions. 'MU8 prO(Jr.. cont.1ne h 81'1'01'8, often und.tectH by COIIpU.ra. Can you .pot the87 subjective. PUG l'ascal as a general purpose software tool. The defini- 2. The Pascal Standard is simple and devoid of a mul- Iion of the language was not very precise and in con- titude of options. If the language has lots of options, ------,equence, the portability of Pascal programs was prob- then program portability is reduced because a pro- prOfjr&a t..t.; lematic. The British Standards Institution (BSI set up eonet gram may not be valid without a specific option. n],l Igroup under Dr. Tony Addyman to produce a standard COBOL has a large number of options and FOR- beg],n- '0', Jefinition of the languaae. This was later superseded by TRAN 77 has two major levels (essentially distinct ],f nil then 10ISO group also under Tony Addyman. Last October, languages) whereas Standard Pascal has just one vrU.ln("0' .WIIIOItG.; +nil. .12:1) ISO agreed to the standardization of Pascal, and after option, affecting only one part ofthe language. This .1.. ) :ditorial work on the document, BSI published the vrit.ln( .IUGII'." option is to allow procedures to handle arrays whose ond. ~tandard in February of this year (BS 6192). size varies from call to call. This option, level 1 Pas- What does this mean for users of Pascal? The port- cal, would allow Pascal programs to call FORTRAN ------,lbility of Pascal programs should be much improved routines in many systems. Try 1t Oftyour .y.t. and ... hoW8&nJ'el'l'ore are 4.t.c:t.ed. "rollided suppliers implement the Standard and users 3. The Pascal test suite is more searching than that of write their programs to conform to the Standard. One COBOL and FORTRAN. This is essentially a con------night think that the position with Pascal is no different sequence of the definition of the language. The Na- 'rom that of COBOL or FORTRAN and yet portability tional Physical Laboratory has been collaborating 'roblems arise with tbese languages. There are several with the University of Tasmania on the construction easons for believing that Pascal is different: of this suite for over two years. About 400 copies of the test suite have been sold worldwide. A new ver- sion of this suite has recently been issued to corre- \rticle formed the basis of piece in Computer Weekly spond to the new ISO Standard. Unlike the COBOL ,y Phillip Hunter. 11th Feb. 1982 page 14 and FORTRAN test suites, the one for Pascal in- PUG(UK) PUG(UK) 5 ~ ~ I I i I i I I ..J
designed to test the conformant array features in media conversion affects character code PASCAL PROCESSOR VALIDATION PROCEDURE isolation. representations. 2.7 QuaUty 3.4 integrity ChecldDc By David Blyth Many aspects of an implementation are beyond the Following media and lexical conversion it is advis- Standardization Office, scope of the standard, but it is still useful to investigate able to check that no corruption has occurred. For this National Computing Centre them. Quality tests explore these areas and investigate: purpose a program called the Checktext program is supplied. It produces a 96-bit binary check pattern us- (a) The limits on the size and complexity of programs ina an algorithm oriainally developed for use in data 1 Introduction (iii) the implementation incorporates some common imposed by the implementation transmission (CCITI Rec. VA 1) (ii) the amount of store needed to perform certain Few Pascal users can be unaware of the recent pub- error. The Checktext program operates on a standard- lication of the British Standard for the language which No deviance test program is standard Pascal. Each well-defined tasks ized internal representation ofthe program and will not will shortly be adopted internationally. Many Users such program contains exactly one such deviation. (iii) the accuracy of real arithmetic be aft'ected by legal lexical substitutions. Certain parts (iv) the meaningfulness of diagnostics for common have heard of the suite of validation programs, devel- When a deviance test is run the results are inspected of the proaram may need cus!omization for use on par- oped by the University of Tasmania and the National for evidence that the implementation does in fact detect types of error (v) ticular systems and the source code is marked to show Physical Laboratory, which can be used to check on the the deviation. If it does not then the implementation the speed of the code produced. where such chanaes should be made. standard-conformance of an implementation. This suite does not conform with the standard. Quality tests often throw up some surprising results! The results of the Checktext program should be is readily available and any user who has a copy can compared with standard results contained in the User use it to test his own compiler or interpreter. For those 2,3 Implementatlon-Dellned Featnl'eS 2.8 Extensions Guide to the suite (supplied with the distributrion tape) brave users who undertake such testing this article pre- The standard defines an implementation-defined Many implementations offer extensions to the and if there is any discrepancy then transcription has introduced errors. sents a brief guide to the steps involved and draws upon feature as one which may differ between implementa- standard. The extension tests see whether common ex- experience gained at NCC in a joint NPUNCC/BSI tions but which is defined for any particular processor. tensions (eg those approved by PUG) are implemented. project to develop and document the validation A conforming implementation must be accompanied by Together the test programs provide a very thor- 3.5 Checldna VaUclationSuite Assnmptlons procedures. a document that provides a definition of all its imple- ough test of an implementation. A validation suite must necessarily make certain mentation-defined features. The test programs for im- assumptions about the nature of the implementations 2 The Pascal Standard ud Validation Suite plementation-defined features are intended to show 3 Using the Validation Suite which it will be used to test. The Pascal validation suite The Pascal standard defines the language itself and how these features are handled in any particular imple- assumes that the manner in which Pascal programs are to be handled mentation. If they aren't handled in the manner claimed 3.1 Distribution Format . textfiles by an implementation. The validation suite contains then the implementation does not conform. The validation suite is distributed on 9 track 11III8- . character-strings over 400 test programs whose purpose is to check netic tape with characteristics as follows: . the real-type whether or not an implementation accepts the language 2.4 Implementation-Dependent Features . localfiles as defined in the standard and whether or not programs Recording density 800 or 1600 bpi An implementation-dependent feature may differ Recording mode ; NRZI or PE are all implemented, also that which are accepted behave as the standard says they between implementations and is not necessarily de- should. The standard and the validation suite have been Character code : ISO 646 or EBCDIC . lines up to 72 characters long can be accepted fined for any particular implementation. Here the im- 1200 bytes/block, 80 characters/record. developed in parallel with tbe result that the suite will plementor can either state in his documentation that use . lines up to 72 characters long may be output provide an exceptionally strenuous test of any imple- of such features is not reported or else have the imple- A purchaser of the tape can specify which density, . the value of maxint is > 32,000 mentation. An implementation which. performs well mentation issue some diagnostic for which such a use recording mode and character code he wants. . the relative precisionfor reals is < 0.001 under test can be used with confidence in its conform- is encountered. The test programs in this area are de- There are 49 files on the tape. Three of these con- . the characters needed to encode the test pro- ance and reliability. signed to determine the behaviour of the implementa- tain documentation. The rest contain the validation grams are all accepted as distinct by the The suite contains eight types of test program tion. The implementation conforms only if it behaves programs. implementation which investigate respectively, conformance, devi- as claimed or reports implementation-dependent usages. . the "largest"' procedure in the test suite is ac- ance, implementation-defined features, implementa- 3.2 Media Conversion cepted by the implementation (except for cenain qual- tion-dependent features, error handling conformance 2,5 Error.HandBng ity test procedures). arrays, quality and extensions. These classes of tests Users whose machines have tape drives should experience no significant problems in reading the dis- A further implicit assumption is that the real arith- are quite distinct and are used in characteristic ways. An error is defined, in section 3.1 of the standard, to be a violation by a program of the requirements of tribution tape. Their only concern will be with lexical metic system is susceptible to investigation by cenain types of method. 2,1 Conformance Tests the standard that the implementation is not obliged to conversion if necessary. detect. An implementation only fails to conform in re- Users with ftoppy disc based systems need to do The validation suite contains a prOJl'lUDcalled the Conformance test programs attempt to check that spect of error-handling if it fails to process an error in a media transcription to get the suite in a form in which "Check Assumptions" program which enables the user an implementation provides those features required by the manner claimed in the documentation. The error- they can use it. This conversion can be tricky, and is to determine whether or not the implementation vio- the standard and that it does so in the manner which the handling tests each present the implementation with almost always done on an ad hoc basis for the particular lated any of the assumptions listed above. standard specifies. These programs are all correct stan- one error with the aim of determining exactly what the system concerned. dard Pascal. If the implementation conforms to the implementation does with it. 3.3 Lexical Conversion standard these programs all compile and execute. If a There are two character sets to consider when us- 4 I'IuaIBIanda ' theT_ conformance test program fails then it is an indication 2.6 Conformant Arrays ing the suite - the one used to encode the test pro- that the implementation does not conform to the grams, and the one used to represent "char-type" val- 4.1 PlannIng Is Important standard. An implementation may conform with the standard ues on the target computer. Testing an implementation is not just a matter of at level-O or at level-I. In plain terms it can either have Roughly speaking any consistent set oflexicalsub- running all the test Proarams. The test suite is larae and 2.2 Deviance Tests conformant arrays or it can 't. If conformant arrays are stitutions can be made, but some may render specific on some machines it is not possible to run all the tests provided then all ofthe features specified for them must Deviance te st programs check whether lexical test programs, and some programs which test without breaking the suite into batches. Furthermore be provided according to the standard. the char type, irrelevant in validation. close attention must he paid to ensure that the behav- (i) the implementation provides an extension of Pascal : The conformant array tests are a collection of con- (ii) the implementation fails to check or limit in an ap- Care is needed to ensure that lexical conversion is iour of the implementation is accurately recorded formance, deviance, implementation-defined, imple- consistent throughout. This is particularly important if throuahout the test procedure. Finally provision must propriate manner some feature of Pascal; mentation-dependent, error-handling and quality tests 6 PUG(UK) PUG(UK) 7 I
J
be made to make it easy to re-run any particular test I Processor Identification some time before any further thought is applied to the after preliminary interpretation of test results. 2 Test Conditions subject I expect, if ever, so perhaps now is the time to Choice of the method of working can have a 3 Conformance Test Results see if anyone is interested. marked effect on the overall time taken to run the tests. 4 Deviance Test Results John R Lolldon ICIII)cul.ta tht88Cora 808ehow) There are two areas to consider. First some method 5 Error-Handling Test Results 18 Darley Road rhl,'rut t t-frut t(tM..eon); must be chosen to extract test programs from the files 6 Implementation Defined Test Results Manchester MI6 ODQ which contain them. Second the organization of the 7 Implementation-Dependent Test Results ate jobs which run the test programs must be decided. The 8 Level I Test Results User Guide illustrates three approaches for each of 9 Quality Test Results This facility wiDprovide a logical completion to the II) St~uctu~ed eonatanta. these methods which will cover most cases on a wide 10 Extension Test Results built-in functions 'ord', 'chr' and provide a much more range of machines. Guidance on the content and presentation ofthese readable alternative to the use of variant records. Al- Some programs may prove to be rogues on certain sections is included and a sample validation report is thoulh there is no reason why the method should not implementations. There is no way of knowing in ad- included as an Appendix. nnQ.AM pte; be available for records if the matching of record vance whicb programs will behave in this way for any OOI85TolMhuMr4'd-1bn; ete: lengths were entirely the programmers responsibility, given implementation. The user should take care so that TTPI! there is an objection in that the internal representation such programs do not cause tbe loss of accumulated test 6 Practical Use 8eat81'\,,.-(cof'ee.j...ltr..d. tea .hl.cult ._ute Ide); of variables will be machine-dependent. I envisaae this results. The present article offers only a brief sketch of the ..r,pe-JPmRD type-change function purely for scalar variables be- In any event some programs will need re-running validation procedure. At first sight it may look some- .:I..t ; tween scalars and perhaps for pointers between point- b,e :ch8..; because the results on the first run may have been in- what daunting. In practice the key is attention to detail. en. It is of course really a mechanism to cause the com- conclusive. The circumstances in which a re-run is The User Guide gives fairly detailed advice on tran- .:uny'n..'1 of .nteur; piler not to check types. needed are given in the Guide. f:lluhrt'''''j scription and test job organization, and will be found "188\ of M:81artJ'pe; (This facility is similar to one available in AAEC Pascal helpful by most people undertaking tests of implemen- h:lI..uy(I,.2nJ of rh8l' 5 Reportlq Results ,,"D: 8000 for the IBM 3600'370 series, and attributed to tations. Once transcription and organization have been , .tr KludlC8JDUS) It is desirable to adhere to a standard form of pres- sorted out the tests usually run smoothly. Carrying out TAWL"..1 t..t.,pe- ,_. Oft."""'red. ".* .rhr(2n) .en.25.S".''', If any readen have any comments for or qainst, entation when reporting the results of a validation. This a full test is a rewarding exercise which offers many leoff..,t.. ...r I. .ehol..t.ro!'; offers two main advanla8es. lessons to language implementors. It is hoped that users perhaps PUG can help to air views? First, when a formal validation is being done, a and implementors alike will use the test suite and help standardized report: to promote rapid practical standardization of Pascal. .r.l:JN PUG ...,.r;...I; dl8playh-e'lll.h( 4J: HELP!
ete Dear Nick; Sy8lem. Used Note the use of the 'chr' function to set up unprint- (i) Apple (II) UCSD Pascal. able characters, the absence of any delimiter other than (ii) To be delivered December 1982: Burroups B21-5 Dear Nick, hardware is OEM kit from Sirton Computers in Purley, by the name of Midas and is in essence an Integrand those already used in Pascal and the access of a con" (384 K Byte). Pascal ISO draft 5. After our phone conversation the other week, I stant array element. There is no reason why 'ord' was rather more relieved to feel that here in the UK 10-slot SIOOcase with PSU, Ithaca IEEE SIOOcards should not also be included so that portability is en- SpeclallDtereata there are other Pascalers at work and that PUGUK is (MPU-80, FDC-2, 64KDR and VIO boards) giving 64k hanced. The syntax follows closely on that of Pascal as viable again. The gap has been too long, and I wish you and 4Mhz Z80A with CP/M, plus 2.YE-DATA 174D Business systems. Particularly rapid access to un- [ it is and involves no ambiauity in type declaration im- well in trying to get it going again. shall try and do [Mb drives. The printer is a Qume (a luxury really), and plicit where structured constants are declared in the sorted data items. Data base management systems. what I can and particularly with public domain soft- a Volker-Craig VC404 completes the outfit. constant section as in some implementations. Pointers ware, but at the moment, I don't have a great deal of I will try and compose a critique of Pro-Pascal as declared in the correspnding type declaration may be 1aIorm8tIo...... time to spare, nor any telecomms equipment to plug soon as possible, but version 1.4 is due out soon with set to whatever internal value represents nil, however We would be interested in knowing of a Pascal into my computer. 8 byte longreals among other goodies. I have written to they are named and uncompleted arrays of char ini- compiler to interim ISO standard or UCSD for Bur- I enclose a cheque for 9 pounds for subscription. Charles Foster of PascaJ/Z User Group asking if he or tialized to spaces. roughs BI955 with o.SM Byte working store. Manufac- On the question of back numbers, I have copies of 12- his contributors would permit the distribution of any of Such a feature will provide geniune structured turer does not support Pascal for. 16, and any subsequent or previous issues would be their Pascal sources to PUGUK members appropri- read-only constants without the uaty initiation pres- Mr. P A E Herring very welcome. I would have thought that for [7-21 ately modified to BS 6192, or ifindeed there is any other. ently necessary in Pascal. In fact, in practice it is easier which you already have, it would be worth while put- Public Pascal around in the States. I think we ought to MAPAC to put records for initialization in a parameter file and 17 Market Square ting a note in the next issue to see how many people be prepared to reciprocate on this, don't you? read them in, which does not seem an elegant solution. want them, and thell have your printer print adequate In converting from programming mainly on main- Leilhton Buzzard For micros with restricted memory, initializing a record Bedfordshire copies in total. Much better than spending your time trames in Fortran and having a nodding acquaintance from constants needs up to two copies of every element collatingeveryones with Cobol, Basic and other languages, there are times LU77EU ' needs and doing individual pho- - one dynamic and one in the constant area, which is tocopies of bits and pieces. Perhaps if other people when even Standard Pascal has its limitations. There- rather wasteful ofspace. were able to lend YOllsome oCthe older copies, the same fore, I've thougIJt of two ways of improving the Ian- could be done. I'd certainly lend you 12-[6 if you like. gUllle. As PUG may have some inftuence with the pow- h) Dear Nick, After all, its the information that matters, not whether ers that be, I've taken the liberty of including the Tvrf'-eh.l'I~r 'unction. the issue is an original or not unless we have an collec- suggestions - by all means put them in a news-letter CET TELESOFrWARE PROJECT tors among us. Anyway, mark me down for any back if you like. I don't believe in trying to persuade com- Thank you for your letter of 6th December. issues you can get your hands on, please. piler-writers to augment their compilers as their job is I think you must have lot the wrong impression I am now using Pro-Pascal from Prospero Software to implement the standard. If the languqe is to grow, cn',~ etc from my letter of 3rd December. We certainly do not as my mllior programming tool, as well of course as and if any such need is identified, then it's the standard Typr fOtlrth); want to see a different telesoftware format for PAS- Wordstar to compose programs and write letters, The that must mature. Now BS 6192 is published, it will be scorr-" t rst. s.cond. tht "d. frul t-' lII,u')rt.oe.r.,or."" r.,..); CAL. As I understand it, the only problem with the cur- e PUG(UK) PUG(UK) 9 \
I I J
rent format is the TAB character which lies outside the On receipt ofthe form and remittance we wiDsend PRESTEL character set. You may be interested in our a magnetic tape containing the suite. APPLICATION FOR LICENSE 1'0 USE VALIDATION SUITE FOR PASCAL recent extensions to the format (copy enclosed) which The cost of the package is £ 100 sterling (+ 15% overcome this. VAT for UK users) and cheques should be made pay- Name and address of requester (com- Name and address to which information As far as including PASCAL programs in our li- able to "The National Physical Laboratory" quoting pany name if requester Is a company) should be sent (write 'as above' If the brary is concerned, all I am saying is that we need to our reference number NPS 2/01. same) learn how to walk before we can run. We are keen to include programs in languages other than BASIC, in- Z. J. Ciechanowicz cluding PASCAL, but need to be sure there are people Division of Information Technology & Computing who can receive them on our system and will find them Department of Industry useful, before putting them up. National Physical Laboratory If you know of PASCAL programs which will run Teddington, Middlesex TWll OLW on the micros most used in educations, ie 380Z, Apple, Pet, Acorn and TRS 80, I would be interested in re- PS When requesting the suite please supply the tape ceiving details. format you require: Signature of requester Chris Knowles i.e. 1600/800 b.p.i. Telesoftware Project Manager ISO/EBCVDIC code Date Council for Educational Technology We generally write our tapes with fixed length 3 Devonshire Street, London WIN 2BA blocks, 15 records per block, 80 characters per record. In making this application, which should be signed by a responsible person In the case of a company, the requester agrees that: (a) The copyright subsisting In the validation suite Is recognized as being the property of the British Standards Institution and A. H.J. Sale; Dear Pascal User, Dear Nick, (b) The requester will not distribute machine-readable cople8 of the validation suite, modified or unmodified, to any Please find enclosed details regarding Version 3. J 1. Can you recommend a PASCAL for XENIX? (LSI third party without permission, nor make copies available to third partlee. of the Pascal Validation Suite which was released on II UNIX) In return, the copyright holders grant full parmission to use the programs and documentation contained in the vali- the first of October 1982. Should you wish to receive 2. Do you know who distributes the Dutch 'Fres Uni- dation suite for the purpose of compiler validation, acceptance tests, benchmarking, preparation of comparative a copy of the suite, please fillin the enclosed application versity' version of PASCAL? (in the UK) reports, and similar purposes, and the provision of listings of the reslAts of compilation and execution of the programs form for a license and send it together with your re- to third parties in the course of the above ctivlties. In such documents, reference shall be made to the original copyright mittance to: Brian Kirk Robinson Systems notice and the source. Dr. Z. J. Ciechanowicz Engineering Limited Division of Information Technology & Computing Red Lion House, St. Mary's Street, OFFICE National Physical Laboratory Painswick, GL6 6QR Teddington USE Signed Telephone: (0452) 813699 ONLY Middlesex TW II OLW England VAT Registration: 302 3124 28 On behalf of A.H.J. Sale and the British Standards Instrtution
NIltIoIl8I PhY8lcel1.8borlltory T8ddlngton MlcldlMex TW11 OLW T8I8phone 01-1177-3222 TeI.x 282344 Pascal Compiler Validation Suite
NPL Issued version 3.1 of the above suite of test programs on 1 October 1982. These programa permit a user to check the compliance of a Pascal compiler and run-time system with the ISO standard for Pescel (ISO 7185, also BS 6192). The new suite is an eX1enslve revision of version 3.0 and the work has been undertaken In conjunction with Professor A.H.J. Sale of the University of Tasmania. SUbsequent revisions to the test suite are likely to be of a minor nature.
The British Standards Instrtution will shortty be launching a pilot validation service base upon the test suite together with other material.
The test suite consists of about 17,300 lines of Pescel programs plus addition comments on each of the 553 test programs. The programs themselves are divided Into a number of classes as follows:
182 programs checking that the felltures of the St81dard are available; 157 programs checking thet illegal constructs are rejected by a complier; 82 programs checking the error-detection cepabillty of a Pascal system; 60 programs checking the quality of an implementation: 40 programs checking for Level 1 Pescel ('conformant arrays')' 16 programs checking the variations permitted by the Standard; 13 programs checking for features defined for each Implementation; 3 programs checking for eX1ensions. B.A. Wichmann Z.J. Clechanowlcz, eX1ension 3977 For BSI, J. Hatton-Smooker, telephone 0442-3111 10 PUG(UK) PUG(UK) 11 ,... ~
I
I J.
Obviously no procedure can caD the main program. c.t..."..,., c.I tI -I. \1 :Too!.Y,t.- !Too!.Y,t.- :Too!.Y~ :Too!.Y~ :Too!.Y~ :Too!.Y~ :Too!.~ Similarly, the other table contains the intrinsic proce- -.. "..oc"'" dures. Obviously they don't make any calls. -()I.f. I The identifiers in the input file are truncated if they I ()oec:.C),....1 , TI"-oclla''''' A Better Referencer are too long to fit into the identifier arrays. The length h." ofthese arrays is specified by ldentLen. Changing this II.., 10__ t ' By Yamer ..10...'.110 I "".'.., ~ Clawl J. constant requires corresponding modification to the , Money Management Systems Inc. ,..." lOp.. " 1-.,,1'.'..' constants defined on lines 5-8, 83-87, and 210-211. 1...\.:.... ,. I """ U...,Wldtb can.he set to any appropriate value. i"" IuI"'"'' ou...... ,. Ii..'1 .C...o.._.Ct..." '''''IfP. Setting it to 80 gives two columns of reference data, ..,... I , ~'KII. . LP'Yec:"'''''ec ) The program which follows was developed from Lines 19,21-24,49-51,68-71,522-526, and 551-564 which is somewhat hard to read (try setting your ter- H., I ..,."(..'oc,, . .".,,(f-.oc ] of0' ""MIt."...,-.".ochU' the Currie/Sale procedure cross-referencer published make use of implementation-dependent intrinsics to minal width to 2 some time). Setting it to 56 forces the ..,UI." , .,oe , in Pascal News # /7. Of course, any programmer who print processing time and heap usage information. tables to have one reference per line, which is rather .rack.' ."ad . ...r..,C.l.iK"It) .f *,,,'.1 looks at someone else's program thinks he could do a These lines can of course he replaced with the appro- vertical but still readable. ()to, [.KCC..' ,.U I.;_,T ,), heller job, but I think that by almost any standard I suc- priate code to do the job at the target installation or sim- MasProc: determines the size of the array of point- " ..".,...1' ply left out ()cr.." "'I_f. (",..,_f.'I..,.-.d J .."..".1' ceeded, though it took me much longer than Sale's - like most statistics, they're not really ers to procedure descriptors, and thus the maximum " '"",1 '. three days. I have an excuse, however: prior to this necessary. aDowable complexity of the input program and the reo, 04' "P.""'. ' one, I had never wrillen a Pascal program; my experi- Lines 113-116ignore compiler directives. HP Pas- ferencer's static size. If it is set to 64 and the HP-spe- ...oc( ..edl ". ,._ ._,... ., ( ...,..." i..ideo,i'i..c_"., .._,.",_.,..."',. ..UfOC'".t.._".oc:..., t." ) ence with the language comes solely from the articles, ca.1I1000has its directives bounded by dollar signs. The cific intrinsics are removed, there is room for 34 pr0- ( ~., c_lI... .i.OC"I ) standards proposals, and validation suite which have format is like strings or comments, and thus is in the cedures, more than most programs published in PN (..., , It 1__' .f., ldeft'.fwdl t ...... ( i'. 1 '_.' ,-..,....48'n". 'c heen published in PN. spirit of Pascal, but nonetheless the construct must he need - more than most programs executable on a pro- 1"..''--,1 ' "'.0"..\ '''..4 The program is shorter, simpler, and almost cer- handled separately. cessor that can't handle large sets probably need. c__" . '...oc '. .1 tainly faster: It has half as many source lines as the F.-cl...''''.1 . "...c"l811 ., Line 1 is a compiler directive (another is on line StackDeptb specifies how many BEGIN/END and ...ill ''' . 1. ., Currie/Sale version, but the format is different, and the 71). The default output line width is 128, which causes CASE/END structured statements imhedded inside the €actC_ldeII', . 'OIl.'c... ., numher of statements in only 25% smaDer. The HP 132-character lines to wrap around even though there body of a procedure the referencer can handle. Few vwJ . 1 " 100012015compiler generated 4604 words of code and are still empty columns on the page. programmers can create code more complicated than c.. I C*I..' ' static data (the 1000 is not stack-oriented). The proce- Lines 307-308 and 345-346 add the HPIOOOintrin- 16 nested structures (the referencer never goes deeper ( .,..8'.1'.' ) dure descriptor is 25% smaller: the reference descriptor sics to the pre-defined procedure table. They can he than four), but if desired the stack can he extended eas- (..,.1. AU88"C) c c,... is 97% smaDer. The syntax analyzer is more tolerant: replaced with the appropriate constants for the target ily, since each element in the stack -takes only one missing semicolons do not faze it. The program needs installation or removed to make the program conform integer. ( ) 29.80 seconds and 1376 words of heap to process itself, Otraet is the distance from upper case to lower. The ...i., , h8dldeft',. 81...1 to the pure standard. The format is as follows: Each I " ,. []I 356.80 seconds and 5780 words to process the 103-pro- procedure name is followed by a space. A hyphen ter- program may he set for EBCDIC by changing this con- ,I , ,. ."P " cedure, 4000-line P4 compiler. minates each constant. The last string ends with a pro- stant to the appropriate value. Clio.. I ' ) The improvement stems from the use of a different cedure name, space, and hyphen, and is then padded One final note: no numhers larger than 32767 are .f c ,C'"'..',.._ CPOP i. or c_t ( C_t. data structure: The Currie/Sale referencer is optimized with trailing spaces to ConstLen. As many strings as needed by the program. On some processors (such as IIUI,,'''C.'.', """'h_ I- +1.'... be.'" for programs of virtually infinite size, using trees and necessary can he added at 307 as long as they have cor- the HP 1000), significant space can he saved by assign- " cl'll.'(" stack and rings of procedure descriptors and chains of responding caDs at 345. ing MasInt to 32767 in the referencer's global constant ....-. ,.._ ..,.. ,. MII reference descriptors, which allow the procedure da- The directive "external" is recognized by the re- section. If e...i.' , , .'11 , () tI e " ( C_,I.. .I..cli_,,' ) tabase to grow very large with the program's taking all ferencer. Lines 8, 149, 237-238, aDd 477 could he mod- () It .,C , "..., _'i' l0..."', , OR.-t.i'Ci"..,," '. , the memory ever manufactured and all the time till 1. OM CROOOJ__ USIItO 00014 .-0000 () ified to aDow the it to recognize the target installation's U'Itf.F '-00003 ( ) I..."" doomsday to process it. This referencer, on the other directives. The implementation dependency was in- UfO'!clt..(,I"""'I ,It_ r ' C_l , If' M88U_"'...() .. hand, is optimized for smaD programs, and uses an ar- cluded primarily to show how this is to he done. The ...il.., (u...,,'''C'')'." '.', I~I ..... ) ray of procedure descriptor pointers whose size is fixed COft." ,""", ,".... 11-..''.'" ( na.ture of the dependency is such that it can he left in 1I II.ldeflt."''' It.\1'(c.,.""U_"'... )'.(dl(-"') by a constant, a quick-and-dirty replacement sort, and "..Ide>fIot. .. '1., .,,.8'.1'.', ' ( "'i. ) even if the target doesn't recognize it. f'wdI~\ .. '."0."_.'or...rd ., UIeo he:._1 " sets of reference descriptor flags (two sets, since the lE.tIHftt . ( ), ..... '..t.""81( 'I,,,,,,.I.sic " 1"t., lc8 . tru. ",..ec:"""_,,!tOM JJ ..,..I'.I'.f program prints the reference data from both view- true ( P,.ift\ '1"'.tnle ..1III".'8.C.. "'pee ( ) C.II.,.TabI8C.II"f"". -. true ( ,.,.Ift\ table 0' ,..,...8nC_ TO "'I'oc...,.._)f -". 01 C,...", ,It.. 1.. c t. points, caDer and caDee). As the program to he pro- Options 0' H ) Ci" ' ,.. tletl .. 16 ( St tiC8'U:8 11..t For '''''\''.8,.8. ,..,...... , 132 ( D.t of' '."t.'I (1 ""_.2'11_' ), " cessed increases ill size, memory use increases quad. Lift"""'" ( CLi",.Width-lcMlttl._-22_ ) This referencer contains a much more efficient ,-.u..' "uM." .roc.., II'" TliIls ,1. "1..11."", ratically, eventually surpassing the Currie/Sale 7. ( flU'" 0' ..., AddIntrIDsk:s procedure than does the Currie/Sale ver- ( b. ..t to . COft ", ..t .,r.. )I .t_ ., referencer, which started out higher but rises only lin- Ihd."U. 16( "'.1_ bloc~ tl... ..lth.I'I. .,.ee JJ .M., " ,.._ boOllICI~'i'i.. sion (hecause intrinsics inclusion is not the default for 32 ( ...tance t.._ to I_,,-c... -"J '.11 tll""'" (:.0.11_O'h.t Uf'''.''- co,.,. )1 )' , early. Execution time, I imagine, ought to expand sim- that referencer, while it is for this one). The feature can 11 RTE: ...tUf',.-t,_-o'-d... ., . J ._ till". . I '(J] I. ilarly. It might he interesting to determine where the he disabled by setting Intrlnslcs false. The procedure C JOft.wG,d -32' 127.7. , ."""'0' ,"""'.., "e" ()Z,.f'''8C:( . ".c..d .,,,.,..IIIo""I'.I"C.d...f' 0 ~I ..... U ' cross-oYer point is. itself is quite smaD and can he left in even ifinactivated. )Ti-'l:oc . .oc..d .1111..c...oc...'"",...,, "'~d .-4, MO' I. .I""ed'.") . .'.I , J I. J __to(et"""''''I . It I "(JJC._ 1M) .1"". The program IlseS the CASE. . . OTHERWISE The program is designed to print the reference in- <>...... 'or""'" i. c.._' \0 '_r It.ock._" . 0.."..1"",...I".c "1I1 ldofIU,,) ,. c...C.,.dC,...UJ]leOf'h.U' construct which many processors don't recognize yet. formation from the standpoint both of caller and caDee. E,.,..,T..",.. . (MaI" It.,.,ill 1_.Too/totl, oc..Mi...lec", I "c ,. I" -., Q The solution for thi s problem is to upgrade the proces- Naturally, twice as much information takes twice the T_Do..,\.o."E"d..l._"",..lod) I " ,. ' , "e (,]1 1..I "L...' .M.,,,"."..1' sor! An interim fi" is to replace the CASE's with space and twice the time to print. Either table can he u...... _, ., I "".".., ,.._I" '''' ( t. ' ocl...UOl:CICI '...UfOcl1M.1.,,"';.1') , , ,..., . ...c".d .,...Clft"""."..1 .. ".1_ t80' ",'" '11_ IF . . . ELSEIF c()nstructs. disabled separately by means of CallsTable or 1..,,"1"..".".." e"." .,.. I' e "'.' _'ilI " 011:C ".IE.U U I ~'" . "'ld8fI"I"j".' OIlI'1","...,.,i,_,I_ " CalIersTable. Almost all the code for printing the tables . .. OptloualllDes "'''oclt .M..""oc' .1.. I' 1..',,,,,-c._1""I..ldoII',u._ I..." ,.C...._ is common. As an aside, when both tables are printed L oc" . 0..".."rocJ .1.. I.I' idoll'..:lIdl' \III... ' '" 0.._ "'oeS." . ..c..d.." .r ocR.".., Those lines which hegin with the null comment are it is sometimes difficult to figure out which direction is "'rochK.._ Ilde"'S".i,,.' .,..-. i. c..e)'c' 1I:..dl " I.CI...1 not vitally necessa.ry to the program and can he re- represented by which table, even though the table's ti- c , I ''''...e )IIIP.oc...' Ift"'''t.' ( , -., "11 " moved without seriously affecting its operation. They tle says "calls" or "callers." One table contains only .c_.'_.1 I l ocR."...oclt , 0 , 0,,1., a I ),,' H Occluded)I WIIol.' serve primarily to handle HPlOOO extensions. a single procedure defined at level 0: the main program. d.'''''. ' 13 12 Softwara Toole 8ofIwa.. Toole ,... ~
I
I .J.
} Pr lilt. 1,,(1 v., .,0cIP,ocR."..1 So,U .rro" _""... "'are,n.'. ,,,tu~ } P'oc oc., ( ,_ ) GI'19"9.8b"8CI<." .[,.porfll".'" I i,.a,"..Proc ._ou,"u'" ,St.ecl< h..th be'in ""ee""',IltK. .0 ) If Ft"df'rocC.rocl .f li.tC...ocl" R..dld8f\U-.. ...d'II.". 'or. c_llc.t.d"'roc: .10.',1.".... .Ot't. 1'. E,rorill.det,nlt.on),'h." C., ) ".... I ')J th." .".1 .,,4' (.III.".rOC"'0 et",.oc " i.t t.Coull'ut [ttor .l'>I'n.'~" ",ocnUII.N.,,"rocth.,.. ca.. ...,.or I,.H nOMIL t.h...... oc"u.,..'!IC:"[norITooN''''''"oe..',1I .roc.dour. 1k...8ocI1I' .., ~oPr...,..., of' " ( ) "...1i' Il..te.,oc"...]I' ( ) Ch.ek &>0411 r.'.r_c.. to ~"'8c:i.l,kI ",ec w"tet"(outl'ut.'F,la d_" not b..." with -"..oe ')I ",Ith II.t("'oe"u.]~ do be.l" Inlti.,... '.'brlM;k.l..eu",_t.( 'or IE..,o,.IF IIU...o<:"'OC'
I
'. J ,.,,--_...
'ype type identifier The export list is a list of variable, procedure and WITH SU,XI)() DO BEGI. U£sEY PITCHI If C SLUr THEIl WIIIT£I(ESC); function identifien which may be referenced outside BEGfli WIIIHHSt; IF X.. 0 0 THEIl the scope of the capsule. All protection of the data ob- !EGIII END, t PIlOSE I 0) ocaIer type If (12 MOD THEN jects encapsulated in the capsule is provided at compile C"""WIDTH(Xl "" fOil 13 :. 1 TO DI'I. C"AIIWIDTH) DO time. Thus, if capstype i. a capsule. and the variable X WIITEI(BUM") The version of Prose published in PN # 15contains EL.SE is declared to be of type capstype. then all external ref- 8[GIII , a bug concerning index entries. If an index entry is £ype Fall X} :. TO (Xl DIY CHARVIDT")DO s.braaae erences to identifien. id. appearina in the export list for WIUTEH8UIIIO; underlined, Prose starts referencina the NIL pointer. X2 :. X2 MOD CMUIIIDT"; capstype must be ohhe form VIIITEI(E!C); The problem is that the function UPPER returns an in- WIliTE1(TH"[[} ; ][3 correct value for underlined characters. A new UPPER FOil :. 1 TO X2 DO pointer type X$id WIIf[I(8LAU); function is introduced in the SORT procedure. WIt1TE1t[SC); Exported variables are read oaly, and identifiers DOt WRIT[I(fOt1I1)j Lint! 21b9 t.o 2110 becoMe: appearlq in the export list may DOtbe referenced out- UD, II1TtCEII; t G£I[lAL nOEl VAlli ABLE capsule £ype 12 :. 0,'" _ side the scope of the capau1e. There is noexplicit import ""IT[1{C) UPPEII SPECIALVEIISIOIIOf U I:I. DOES lOT IIEfUIIII facility, such as provided in Modula and Euclid. vllDERLfJlED CHAltACTUS. ELSE'" Xl:. X2. 181 " The Pascal scope rules for capsules are the same ... PUH CH . CHAueTER TO CDUEltT TO U..,EI CASE. as tbe rules for all other Pascal objects. Oaly a sinaIe 'LS'fOil 11 :. 1 TO LEI DO , copy of the operations (procedures and functions) de- F'UIICTIOH( UPPEIt() CH ASCIn) ASCI II lIlIe. 18~2 to 1860 bee08e: BEGIN UPPEI fined within a capsule is created, regardless of the num- If ODt)(CHOIV_ 128) THEIl "JT, CH:. CH 128; ber of variable. declared to be of the capsule type.. tn.: I[GIII If ClASStCHJ.lETTEJI THEIl WHILE IIICHU . 8un DO If 01 h SHALLA THEIl When a procedure (or function) containina the decla- IUTCH; UPPElt;. CII_ CHA_WIDTH ;. IIUtt8U(1D, _I, 0, UrrIITT, 10'31; 32 (10, 12]) ELSE ration of a capsule-type variable is called and the var- If MOT (eMUIHDT" II THEIl UPPEII:. CH 8EGJN ELSE iable declaration is elaborated, the capsule's global var- UROII( 101]); UPPElt :. CHi 10 iables are placed on the runtime stack as a record. This [10,CHA"WIDTH ;. £110 [UPPEIIli 12) THU record remains on the stack as lona as the called pr0- If (TE8MIULTTP[ . DUI AID (CHUWYDTH . j I[GUI 8E(;111 \lIIUEI(Ue), IWrite Ot,lt the IIMII I SalT cedure (function) remain. III:tive. Operations on the ""!TEI(US); abstr8ct object. are thus performed via call. of the ap- VIIIT[1(f'f); I encourage all Prose users to send their changes [10; propriate capsule procedures or functions. CHAIIW!!)!" :. 60 DIY CHAIIWIDTH; to Pascal News. With such an excellent tool it would The capsule type is defined by the diagram aUfLIIIElt].1I8' LEP'TMUGIM CHUWIDTH An example ofacapsule in parameterized (aeaeric) U. :. . he unfortunate if widely varyina versions were to start appearina. form i. shown in Fipre 2. An iUu.tration of the use of line. ]11]9 to ]11.0 b.e088: Ibis cap.ule is sbown in F'1JUI'eI. If ElIDI! vll!TILI(' PilOSE [lIIOIS DETECTED,'), Yours truly, 1"£1 ~) THEIl IF (TUMIULTYPE . OIA) .uD (CHA.!twIDTH . David J. Greer {A noa-rccunh't exrres:cion rarser}
The Use of Generic Capsules .~. 'Sf'; (.capnk.l.cD~311 char~tad(:fj. 20. charI', war with the - stack: chanuckZO; University of Minnesota Pascal 6000 Compiler B. c. ~ {Initial!", J stackSinlt; by Fr8Dk L. Friedman AlessIo Glacomucd Carol A. Glnsbel'l Anita Girton .{ Temple University
~(pa l; I. INTRODUCTION Data Abstraction Facility for Pascal," CIS-TR 81~I, This document contains a description of a data Temple University C & IN SC Department Technical figure 1: type abstraction facility, a capsule, that has been im- Report. plemented as an extension to the University of Min- Use of 8 simplestack caps" nesota Pascal 6000 Series compiler. The facility pro- II. WHAT IS A CAPSULE? vides an encapsulation that establishes a static scope A capsule is an additional Pascal type which is syn- E, _It of identifiers with controlled visability. Data objects tactically similar in structure to the Pascal record. The ( pst:., {] and a set of operations on these objects may be en- syntax diagrams for the Pascal type definition (with the F. r'yp') ist of c~le rar88letf'Ts} closed. The document is intended to provide sufficient capsule added) may be specified as . capsul. information for those who wish to use the general cap- type with the export declaration derlned as sule facility and library. A more complete description deftnidon {:teck c8JWIUle d.t1n1t1ort (1n f.('ftf'rlc fcrl'll) or capsules may be found in the paper "Capsules: A oxpon . doclarotion . p8I'8Itten: . pruDe n8r ot o["'ul(' - Department of Computer and Information Sciences, -C- EXPORT0"01 . pli:e . l'UIb~r of ("h,'Illcnt~ in the.' sU':~ Computer Users Document 81-01, February,l98I, Rev. . ptype . t'tast: of uad ,1.'r"~t) t~'T'f' I. September, 1981. Rev. 2, December, \98\ 16 Software Tools Software Tools 17 D. References to exported Ideatl8en: An exported recommended for creation and maintenance of the and ptype would be replaced by the correspondina ar- identifier is referenced by prefixing it with the cap- ~tackpointN . l...p:i:~'. capsule library (see the CDC Manual on Modify for IUments. charstack20. 20, and char. The result. in this sule name followed by a dollar sign. additional details). case. would be a capsule named charstack20 which H. {glor-a} cap.ulf' LJri:tt>!("s! ~ E. Capstk is the name of the capsule record as refer- In Figure 3. the first line of each record indicates uses a 2O-element array of elements of type char. Given .: ana\' (1. .r~i:cl ot pt~~; I..t;!d~ enced in the generic statement (see A.). top: --;:tii'ckpc>ir.teT; Ir<'l~tcr tC' ton ::-f :,tad. the record name. The second line contains the list this capsule definition. variables such as x.y.z declared F. Capsule Parameter Uat: Generic arguments (char- of parameters (n, .. 9) to be replaced when the cap- as stack20, 20 and char in this case) are substituted for sule is copied from the library. If there are no pa- var x,y,z; charstack20; the parameters (pname. psize and ptype) each time rameters. this line may be omitted. the capsule is referenced in a generic statement. As would represent character stacks of size 20 which could illustrated in the capsule header statement in the line be manipulated IUlmathe POP. push. and init functions ~'rl)CrduT~ p",h fitm: Pt'l)('); (pu I ~'~h 1"'1'<); following the parameter list. the use of the param- Tecnarn1 specifted in the capsule. I ~h.':II ('lite(i''''' .ud.: (paT , eter pname permits the user to assign different I parZ' ... parnl) names to each different stack capsule that is needed. The reference I. pr('cedure in1t; G. Export list: The export list is a list of all capsule (.SG(' capstk' /' capaall' .instack 1000.1ooo.inteJC'r).) Irl'r{C'T'!':'I:\rl~\it::rcd ir:.itl:di::'It:c:1 r: "'~';!: l,t-.lt,.t~ identifiers (variables. procedures. functions) that { capsule body eould be used to establish a capsule definition for a may be referenced from outside the capsule. ~ top. J stack consisting of an array of 100 integers. The *EOR !:!!! {init! H. Dedaratlon of Iiobal (per_t) objects: For each delcaratlon variable declared to be ofthe capsule type, a copy recnam1 J. procedure f,rint; var W,z: intstackIooo; {flnnt out the d.nta} of these objects is placed on the run-time stack. (parI' parZ' parnZ) \. The initialization procedure: If the initialization of would establish variables w and z each representing in- ~"SY 1F('MYPE'.'REAL')llir."'J( global capsule data is required. such a procedure capsule body teJC'r stacks of size 1000. "'Titeln dat8\-alue:S:2) must be called explicitly by the user for each de- f (.Sy ELSEIF( clared instance of the capsule. ( 'm'PE'.'n.~f.R'}*) C. RMtrIetIou... Other Co b dat.".81ue:S); "EOR "'Titeln The examples in Figures 1 and 2 also illustrate I. A JC'nerie reference $0... may not be the first state- (_n ELSE insert the next Hnt' to 1nfonn u,er of ~rTOn~ some of the shortcomings of the current capsule imple- ment of an input program. since a program statement to the u!'er: pt)-pt' IIIJst bt- t)'»e integer or rral. onJy. mentation. For example. there is no provision for the is expected here. ( automatic execution of initialization statements, such 2. Only one capsule h'brary file may be accessed at a "SY INHf") as provided in Concurrent Pascal. There is also no pro- time. (print) ; Figure 3: !!!!! vision for the direct specification of variable initializa- 3. If no substitution is desired for a particular param- of stack) ~ (eeneric fom tion in a declaration. a feature that is provided by Ada. Structure of a Sequential File of Capsules eter. paI'j. in a capsule record. use a null argument Euclid. and CLU. Rather. any initialization required for (indicated by conaecutive commas) in the position Figure 2: the encapsulated data object must be done via an ex- corresponding to paI'j. ThIUl plicit reference to an initialization procedure (such as Stack capsule: generic form init) defined within the capsule. 2. Capsules may be retrieved from a capsule library $0(' capstk' /'capsa1l' .charstack20. .char) (and copied into a Pascal module) through the use would have the effect of leaving psize untouched of the Pascal G compiler option: III. GENERIC CAPSULE PREPROCESSOR when the stack capsule is copied into the user The major features of the capsule facility are in- SG('recnam' /'Iibfilnam ') program. dicated by the letters A-H in the left hand margins of A. Introdudloo or ... No capsule parameter (appearina in a JC'neric cap- these figures. These features are discussed next. The Generic Capsule Preprocessor (GCP) is a pro- $G('recnam'/'libfilnam'. arg.. arg'i2. arg,,) sule record) may exceed 10 characters in lenath. gram that may be used to allow a programmer to insert A. Generle (Par.meterlzed) referen
I I I ! ...... LI
as noted in part 2 below. Alternatively, the space .. (*$Y2ENDIF of color checking~) Programming Language Euclid," SIGPLAN No- .. '''1IUl4lo1F.8f"Jf£IIUfMCYItI.nUMlIIUN ft. .. IrunYt"f: ItMDOfII~."... Off may be used to note the level number of nested ,'*- " A8tRAY. tices (12, 2), February, 1m. .. OH::1oIUHI[Irt\hIIIil'-INf.t.._ .IIH ~IUIi IUvt"'.' 'ME statements, for readability. .. (- iii....8U ,r8..1:2) .(82.8.1). .It.IU.(1 ) (*SYlELSE*) [Linden 76] Linden, The~ore, "The Use o~ Ab~tr~! . .t"" 2. Conditional inclusion of text within a generic cap- 1oI1.'CJiOttM Of't.kAIOkti_ Data Types to Simphfy Program ModIficatIon, -- GI\llEM UtE 1OUM1IIM11.8 UIII IIoIIJIN..IZI. JIUt.IIlIIIIiNCfI'" sule may be instituted through use of the PASCAL OF CATE8OI:n8 U:IF P8lomfYI"£ h IIHD ca.f._ SIGPLAN Notices (8,2), pp. 12-23, March. 1976. .R£OIJ(:MCT ACCUfIIUt."'OIII"n MftAY. Y compiler option: C.UHiOIty OIWM JTIEMfYl"f: ITIE" ..... [liskov 74] liskov, B.. "A Note on CLU." i~ CLU De- '''8IIJt.A'£ - .'£IItttIME' Of" 1NCfC(N(IoI' fHOUEMf;' COUNT Of" 'HAr C,IUIE_' $Y keyword sign Notes. Project MAC, MIT, Cambndge, MA., FMGIJ(:NCY - .IUIItH ",'£GEII: FItEQUENCY COU,'" FOtI' 8.W.. (;A"[(iOItY ',..E Of" C.T[IKJIIUES.f'MIlUff((;lf:tI _L.TlW or 1974. "'UN' - ffttClU£MCIU,""'N' $Y keyword ('paramname'op'paramvalue') [Liskov 77] Liskov, B., Snyder, A., Atkinson, R. and ...IC """"flUE:,""MIIIf'IE OF --CM"SUL£ or ~ Schaffert, C. "Abstraction Mechanisms in CLU," - . :.,s - OfC.1£00'U£5(,.M'ITIOMSI ".- $Y3keyword ACKNOWLEDGEMENT Comm. ACM, Vol. 20, No.8, pp. 564-576, 1m. 'NIt/. .t n..[IME aNI(OF Wlt-UIEd TME t.:LASSlflllOf LQII(.(AMUllINsc Nt). 1T£"TYf'I.- TM( sraucr... HOLDING THE 81JUfi111M'Y\HILtll.S or [Lisko v 77) Liskov, B., et. aI. "CLU Reference Man- TYPE: TY1"I. Of "I" The authors would like to thank Professor Giorgio - , ,.. $Y3keyword (' paramname' op'paramvalue') ual," Computation Structures Group Memo No. . A IED f"1tON, , ,HOoIIItI,NOMf: 'MI£aMCMU:M Ptt08ItM .r.UCTUM"S where ~ P. Ingargiola of the Temple Computer Science Depart- 161, Laboratory for Computer Science, MIT, Cam- . .. TME 'M" '[lIT ... .rItUCTUItE"Df'ttOGi8tNIII'Il.... . keyword- the word IF or ELSE or ELSEIF ment for many helpful comments and suggestions con- bridge, MA., 1918. .. cerning the design of the capsule facility. ,. CT ATf:.f.U.U[IIICY."UIT.I.IT~. or ENDIF. [M-cCabe 76] McCabe, T.J., "A Complexity Measure," . paramname - a parameter name, exactly as IEEE Transitions on Software Engineering, SE-2 c_r . ., ::A,., it appears in the capsule parameter list. (4), pp. 308-320, 1916. . op [McCall 80] McCall, J.L., and M.T. Matsumoto, "Soft- - one relational operator chosen from the BIBLIOGRAPHY set: ware Quality Metrics Enhancements," General .) [Barnard 78] Barnard, David T., W.D. Elliott and David c. ULO-' CIII'8UI.["VMI...£. Electric Company/Rome Air Development Center , ,'". Off 0, ,N =, < >.<.>,< =,> == WIll'81 f8MtItAy _ 8OUMD8fOft tllll'E_Y - H. Thompson, "Euclid and Modula," SIGPLAN Final Technical Report RADC-TR-8(}.I09, Volume .to) L"'''-II. L 8OIJIII&IOf"Cllll1UlOltYo. (Note: ONLY may be used in com- Itel)" t..OIIItM- 80UIfD~ r..,I:.QOkY""'"" I. = and < > Notices (13,3), pp. 70-84, March, 1918. I, April, 1980. ItrN) ., L 8OUMOOf"CllllnOOltyM8) paring alphabetic operands). [Brand 78] Brand, D. Note on Data Abstractions," 18 Of 'ItI:DUl:IIICI(" fOR I:.IIeMOf "A [Mickel 79] Mickel, Andrew B., et. aI., Pascal ~ '.8' C.T£_U:S1' 0 SIGPLAN Notius (13,1), pp. 21-24, January 1918. COlWIl INn...'" UTO'. COUNTOf I'ttOCtS.") paramvalue a parameter value to be com- Release 3 Document. University of Minnesota, Min- 'OT ' HU'S - [Brinch-Hansen 75] Brinch-Hansen, P., "The Program- pared against the corresponding argument in neapolis, MN, January, 1979. ( ~.-: , ,( , the generic capsule call statement ($G ming Language Concurrent Pascal," lEE Transac- [Palme 76] Palme, J., "New Feature for Module Pr0- statement). tions of Software Engineering 0.2), June 1975. 1"ttOCf8Ultl tection in SIMULA," SIGPLAN Notices, Vol. II, (: 'I:CITII"f'lIIT£"TYP£', [Chand 78] Chand, D.R. and S.B. Yadav, "On the Ap- No.5, pp. 59-62, 1916. _'(M,. ' r 'I_y In'. .lftu(lJ .. . Remember that the Pascal compiler option must be . If""" ,IIIC,!€"'" plications of Data Abstraction Facilities," Proceed- [Shaw 78] Shaw, Mary, et. aI., "Validating the Utility . oIIII8Uf'Ir.'.FlNIf inserted within comment markers, and may contain ings of the 1978 ACM Annual Coriference, Decem- . '1If"U' Nt8 --- no blanks except as specifically stated. User com- of Abstraction Techniques," Proceedings of the . Ifl."- III."to_ CA UI. ber, 1918, pp. 639-645. ACM Coriference, Washington, D.C., pp. 106-110, .. ments may immediately precede the closing com- [Chang 78] Chang, E., N. Kaden and W. Elliot, "Ab- ment marker. December, 1918. LA8fL SO, stract Data Types in EUCLID," SIGPLAN Notius [Sheil 81] Sheil, B.A., "The Psychological Study of 1.,1111iIT' (13,3) pp. 34-40 (March, 1978). Proaramming," ACM Computing Surveys (13, I), - (.' '11"81 3. RelllllrU [Coleman 78] Coleman, Derek, A Structured Approach . I_ I (TO. DO March, 1981, pp. 101-120. f''' ITI" 8(11 The generic stack processing capsule in Figure 2 to Data, The MacMillan Press Limited, London, [Venema 78] Venema, Ted and Jim des Rivieres, "Eu- ." 'III. provides an example ofthe use of conditional inclusion. ..elN I_ England, 1918. clid and Pacal," SIGPLAN Notices. (13,3), pp. 57- .J '-If,_ , J+.. As shown, the cOlldition inclusion feature was used to [Dahl 72] Dahl, O.J. and C.A.R. Hoare, "Hierarchical ".IK.J) 69, March, 1918. 110'0 so determine the type of data to be printed by procedure Program Structures," in Structured Programming .... , :;y [Yin 78] Yin, B.H., and I.W. Winchester, "The Estab- '.LK II8C8£fCN',_ L." CAT€8OIII.... "prin!." The feature may also be used to restrict the by O.J. Dahl, E.W. Dijkstra, and C.A.R. Hoare, lishment and Use of Measures to Evaluate the Qual- ..,""MN),o,~ "'IK.]+",- ,cn~." use of a capsule based on a capsule user's knowledge Academic Press, 1912. ity of Software Designs," Proceedings Software '., ,.... of parameter values. At times, the feature may be uti- [Dijkstra 72] Dijkstra, E. W., "Notes on Structured Pro- Quality Assurance Workshop: Functional and Per- "11f' ...... lized to insert a variety of comments in the output pro- gramming," in Structured Programming, by O.J. formance Issues. San Diego, November, I~. P8I8CI:8UM. (: "I." aram, depending on substituted parameter values. Dahl, E.W. Dijkstra, and C.A.R. Hoare, Academic , ( ..ITMCAft_lfS 1MUff MIl H'tUUl.Mt.:U.tIIlf [Wegiter 79] Wegner, Peter, "Programming With Ada: ".., OM.'UMI, The form of the conditional statement which in- Press, 1972. . a.nlt'"" It£t.."w: ""'8Ul:MCIf.8 may be used An Introduction by Means of Graduated Exam- ,..... cludes a numerica.l digit following the 'Y' [DoD 79] DoD, "Preliminary Ada Reference Manual," ples," SIGPLAN Notices (14, 12), pp. 1-46, Decem- : IIIIItOUf'I(Nt ."lltltIOMS -- to help distinguish among IF-THEN-ELSE statements SIGPLAN Notius (14, 6A), June, 1979. PtIOC£'- ",..",,('n. f MlEiIoUt.,.10 ~ 8I:U' I"II:I..U:I M.MdY, ber, 1979. :. IT 11IITHIt((-COU T...IE ..11M COl.UNfME.MRS, which are nested. For example: [Friedman 79] Friedman, Frank L. and Judith A. Ste- "I"'. ' [Welsh 80] Welsh, Jim, and Michael McKeag, Struc- ..9 : II"ACM ... THi: tMoLt:;. N"t't:MS fOLl"*" - I bulis, "An Undergraduate Compiler Laboratory," tured System Programming, Prentice-Hall, 1980. II'" (*$YlIF( !'TIPE' REAL' )TII£,\*) ,:' [LOIIIIOJIft'. MI~D' fIM:OU£MC' IIIILIIIIYI. "tt.IlUtM,;, II =' SIGCSE Bulletin (II, I), February, 1979, pp. 28-36. [Wirth 71] Wirth, N., "The Programming Languaae [Girton 81] Girton, Anita, pp. 35-63, 1911. CONti'l, '(" "A Generic Capsule Prepro- Pascal," Acta lriformatica I. 1Cf' cessor" (in progress). [Wirth 76] Wirth, N., Algorithms + Data Structure; iIot:".'I'f .)., [Halstead 77) Halstead, M.H., "Elements of Software LJiRacto.COfW'I'-. '." = Programs, Prentice-Hall, 1976. . 'r 'f Science," Elsevier Computer Science library. 1977. [Wirth 77) Wirth, N., "Design and Implementatton of WIllI II lterfDf.' [Homing 75] Horning, J., "Some Desirable Properties Practice and Experience (7), Modula," Software - IIfR=~~::~~_t"t_OU~::~OOIt. _ ItI'L"'IUf ..~:...MC\'.I' of Data Abstraction Facilities," Proceedings of the pp. 67-84, 1917. WUlfl u_')f ._n~ ~(; - ;O;2:;;;.;~;-n_. Conferenu on Data: Abstraction, Definition and 1";::C_..~t11 :::;~~ . Structure, SIGPLAN Notias (8, 2), March, 1976, :~"N<" 'f"MIKO)I!~ ,01 Hlltognm Cap8Ule :: :~~~I' ,::"'Uiou,otM.COUfH.1 41' pp. ,... II_ . M-I DO 60-62. (from Dahl and Hoare -[Dahl 72]) '0 (*snELSE*) [Ichbiah 79] Ichbiah, J.D., et. aI., "Rationale for the -O:':nr '.L...iIoCtf;..tnl.OI2.C ,..1tt 1+1JlI012 ' ~lTfLIt(.._'Uc' I HIO~ Design of the Ada Programming Language," SIG- HI!HUOIt J/'01M.COUln,IIOI41 ("NNt( ., 1" YPF) 01.' PLAN Notius (14, 6B), June, 1979. M . rM-gl.II.["'8.' fIE""Yf" (...... ~~~:'::::.(")1'012.cOftM,'£, (1.]:10...... 1. [Lampson 77] Lampson, B., et. aI., "Report on the "It((."'I~~~ ..L ' ( HJ!H'}f}ft_C,.,.SUl£ , WIIIIf((' ',f"jt£O(O)UO If
20 Software Tools Softwere Toole 21 ~ ~
1 \
J J .,~
~({;lfI TOP I- loP II .., .(FItEOrOUTOTALCOUNT) 11014 ~I NGIIt C'SOII!UI I_ + '[Uti' ... III[IOP'I ITEM IDA II. 1 TO 101-1 00 ('VIIIlIDIIoTE """II(IN( '>'AI:4I U"lolkflOW IH I:M!iUt' PNN'IF ...'1' ' wt
Sort Capnle Stack Capsule (with condllic>n81buertlon directly..)
t:APS'" (IiIt'S,*',,,_.. IPHoIIIl'If.t"!;llf,.f'IVP[) .r-fTf-"t: .r-!iuNl psrRUC'URl.pl'l"'CIIDH.PIIi['. f"NIIIM . r",,~":;Ull: f'1MI'I( . CAPSUlE I...... (. OUltkH; , SU.I C""SULI: tOJl". "'''UllOM II" U SToIIC"('lIIf";UI£...... CAIi'OL A. 81HSI!£.ffU . "'-'IHtM'1(,:ON'l£rllll ftIIrIHt:H I. IY82 . PflOVlltfS COltF'II'rr . IASIl"'Il DoIfIfEI'I(JIII'IUU MMC" ~. "HI "'AHI;! 1"'2 . . SToIIIC'" OPU'oIII'OfIS . SOftIS INIloIII ASC[Hl.l11fU OHIfIUI' (If _ f-'UIMcrION I 011I' - 'UP' . . 11(5(;1:111111016Ufl:DUtI" flf PIIIJIr£CflOH 'DOWII'I USU'O 011Isuwu. . (:'""1'1' . SI:.LfCnON SOJIf . .'"'f'W;" . "fW(oIWfEtf.1IDtf-IIIUIUtfS . .., . PIMM. Of"CAPSUI.-- I:. . IHII . P"PI: - .,.. 1 . "SUIItIIWIUI- J"'t,(II'Afllljl:)Uf- o\kllolllVOfIUIltl.ll.XIII:..0IHEI)H. Mllftj yDftrrb . - fV"'l A"RA' nll"'"I{: PIIII<_Tl",'1 . PSIItt.K:IL*t If 11011I. "...t IS 1:' Uh' '1I'1.t:tJkU' , . I'~ )lA1'I1lit 1,lIIr5UlL . - 1"I.IIt.:oIII'"''ITPI. If IS NUl LlESltiIftIIoII.U.''''IfW1 IHl:.H.Jtt.UJHf! . ,.sln HII1'IkU.:m II fl'lfMIS MlI 1 a fast one-pass compiler, p-code interpreter, module Modula 2, Niklaus Wirth's ne_at propamming ~ ...rq1,."qlW"C, ~ ~ ~"(J."OMI'''Q. ~..qlll"DiI._' ~""",,,.tU..,,.Q .91,."'."D6.'" "'~"fJ."".J library, the Advanced System Editor (ASE), Pascal lanauaae, wiD also be demonstnted on the XEROX compiler, and a complete set of utility programs. The 820-11 at the TlCOM booth. It, too, is available from The6dl PACS COMPUl'ER GAMES FESTIVAL system is proced at $595. 11COM. AmI"" ment," McCormack said. It can also handle larger pro- For more information stop by booth #969, or con- IIpOII8Ond by the grams. The new release, called Version 0.3, conforms A smaller configuration is available for the Apple II and 1/1running Apple Pascal. This system includes tact TlCOM II: 130470Waahiqton Blvd. #'1m, Marina Pblladelphla Area Computer Society to Wirth's recently published book on Modula-2. the Modula-2 compiler, interpreter, and module library. del Rey, Ca. 90291, (213)827-7118. Dealer inquiries are 8Dd Wirth developed Modula-2 (from MODUlar LAn- guage) to replace his earlier language, Pascal. Whereas It is priced at $495. Educational, retailer, and distrib- welcomed. All press contacts should be directed to LaSalle CoUeae Pbyslcs Depart_nt Lynn Andenon. will he held on the 19th of March 1983 Pascal was intended as a teaching laDlUaae, Modula-2 utor discounts are available. Volition Systems concentrates on systems soft- from 11:00 A.M. to 4:00 p.m. is expressly designed for use in a wide range of real- ware development and on research and development .UCSD p-System is a Tr8demark of the Regents of the ID the L8SaIIe College BaUroom world applications. The new language - designed to University or California. Olney in hardware and software. Since the company was located at 20th utilize standard software modules - olTers great flex- .FlNAL COPY is a Tr8demark of TIC OM SYSTEMS, PhIladelphia, PA" 19141 ibility in the development of large, complex systems. founded in 1980, it has been a leader in the implemen- tation and dissemination of the Modula-2language and Inc. Volition's Version 0.3 includes a comprehensive Featuring Computers ID DaDy LIfe other high level languages and in the design and devel- module library, a compiler that runs 25 percent faster opment of advanced computer architectures. than the previous version, and a tutorial designed to EDISON AVAILABLE FOR For further information contact Stephen A. Longo. bring Pascal programmers up to speed on Modula-2 in For further information contact: Volition Systems, P.O. Box 1236, Del Mar, CA, (619) 481-2286 THE IBM PERSONAL COMPUTER Ph.D. Physics Department, LaSalle CoUege, Philadel- a matter of hours. phia, PA 19141 Ph<>ne(215) 951-1255. The new version provides all the attractive fea- The Edison system is a portable software system tures of Modula-2: low-level machine access, real-time for personal computers written by Per Brinch Hansen control, concurrent processes, and type-secure sepa- TICOM OFFERS THE UCSD P.SYSTEM ON TWO 8Dd described in his book "Programming a Personal Oh! Puc:a1! rate compilation with automatic version control. "In- Computer" (Prentice-Hall, April 1983). terrupt handling is fuUy supported in Version 0.3 NEW MICROCOMPUTERS Oh! Pascal! is a book by Doug Cooper and Michael - pro- The Edison system supports the development of Clancy. Doug Cooper is an excellent programer living grammers can now write real-time applications in TlCOM, developer of integrated office manage- proarams written in the proaramming Janauaae Edison in Oakland, California and Michael Clancy directs the Modula-2 instead of resorting to error-prone assembly ment systems for micro computers, is now the exclusive a Puc:al-like 1anguage that supports program mod- language," McCormack commented. introductory programing courses at the University of distributor of the UCSD p-System. on the DEC Rain- ularity- 8Dd concurrent execution. California Berkley. Version 0.3 is available now for systems based on bow 100, and the NEC Advanced Personal Computer The Edison system includes an operating system, the 6502 (including the Apple II and /I"), 808OIZ80,TI (APe). A p-System veteran of four years, TlCOM adds an Edison compiler, a screen editor, a text formatter, Oh! Pascal! has been used at many leading uni- 9900, and the 68000. Implementations for other popular versities as a basic text book for Pascal. These schools these systems to their current list of UCSD p-System a print program, and an assembler written in the Edison microprocessors are expected in early 1983, Mc- include University of California (Berkley). Purdue Uni- based applications packages and development systems language. versity, Amherst College, Brandeis University, Har- Cormack noted. for a variety of microcomputers, including the IBM PC The program text and portable code of the software The most significant feature in Version 0.3 is the vard and The Rochester Institute of Technology. and the Xerox 82(}'11. are available on diskettes for the following The book is very readable and clearly written. It standard library, a collection of modules that olTers fa- TlCOM will offer both development and run.time mic:rocomputers: cilities normally provided by an operating system. The systems as well as its integrated office manaaement contains an emphasis on general problem solving tech- IBM Penoaal Computer pop 11113Computer niques, an early discussion of procedures, self-check library provides console I/O, random access files, disk software package, FINAL COPY., on the APe and the 32 K words 8Dd (or LSI II) 28 K words questions and self-test for each chapter. Anti-bugging directory operations, format conversion, strings, dec- Rainbow. FINAL COPY combines word processing, imal arithmetic, storage management, program execu- data entry, records processing and remote communi- Keyboard Dual 8' Diskette Drive and debugging sections foUow each chapter. There are Dual 5W Diskette Drive RX02 (or RXOI) numerous programing examples of varying difficulty, tion and process scheduling. cations in a single package. This is the same system that The standard library provides a portable interface has been olTered by TlCOM on the IBM Pe since Jan. single (or double) sided Terminal including long pr()grams. Interactive programs are Monochrome Display VT 100 (or VT 52) shown in action, thoe reader isn't forced to infer their to underlying operating systems. Volitions' current uary 1982. Modula-2 system interfaces to UCSD Pascal. Modula- These products are now availble directly from Tl. Printer Printer dilTerences from batch. It is 476 pages long and is illus- DisplaylPrinter Adapter trated. The cost is 515.95 paperback. 2 implementations for other popular operating systems COM. They will be shown on the NEC APe, DEC Oh! Pascal! is published by W.W. Norton & Com- will be available in 1983. Rainbow, IBM PC, Xerox 82(}'11, and the Texas In- The software can be edited and recompiled on pany, 500 Fifth Ave., New York, New York 10110. "With Modula-2, you can develop portable soft- struments Business System 200 at COMDEX 82 in Las tile. machine conflaurations. It CUI also be moved to ware systems that run without change on a number of Vegas, Nov. 29-Dec. 2 in the TICOM, booth #969. other similar microcomputers by rewriting a kernel of dilTerent operating systems," McCormack said. "This Demonstrations on the NEC APe wiDalso be available 2 K words. should be of obvious interst to software developers in the NEC booth, 1734. For more information on the availability of the faced with writing applications which must run on all TlCOM is no newcomer* to the p-System. They in- Edison system 8Dd the book, please write to: NEW MODULA-2 VERSION of today's popular operating systems." itially implemented p-System software packages on FASTER, EASlER TO USE Professor Per Brinch Hansen The Modula-2 system also provides access to sys- multi-user minicomputers in 1978. TWII8 fuU advan- Computer Science Department DEL MAR, CA, Nov. 30 - Volition Systems has tem-dependent facilities. For instance, Apple users can tage of the p-System's high degree of transportability, University of Southern California introduced a complete software system based on its integrate their existing Pascal and assembly software they later adapted it to several different Los Angeles, California 90089 fast. easy-to-use version of Modula-2, Niklaus Wirth's into the Modula-2 system. And Modula-2 gives them microcomputers. powerful new programming language. access to the AppleStutT and 1\1rtleGraphics units. One additional feature olTered. on the NEC APe is "Modula-2 is particularly suited for large industrial A m~or goal of the new version was to make the a graphics implementation. 'To completelyutilizethe and commercial applications. It wiD save software de- compiler more useful for program development, APe's extensive graphics hardware capabilities," Mi- velopers both time and money in program development McCormack said.- It can compile larger programs than chael Hadjioannou, president of TIC OM explains, "we JRT PASCAL and maintenance," according to Joel J. McCormack, Volition's previous version and it can compile existing have implemented a SIGGRAPH Core compatible set company president_ Volition Systems has pioneered programs 25 percent faster. In addition, the compiler of routines which are callable from UCSD Pascal. Soon Since May, when we slaahed JRT Pascal's price the commercial implementation of Modula-2. provides conditional compilation facilities and im- to be added wiD be the ability to access graphics func- from $295 to $29.95, we've added over 10,000 new cus- "Our new implementation is faster, more compre- proved error handling. tions with the Presentation Level Protocol (PLP) or tomen! - and we expect to reach 25,000 by year-end! hensive, and easier to use then the previous release, Modula-2 Version 0.3 is available now from Voli- 1\1rtlegraphics, making it easy to transport graphics Needle.. to say, we're grateful for the deluae of which was closely tied to the UCSD PascaJllt environ- tion Systems. The complete Modula-2 system includes applications to the NEC APe." orders. To handle it has taken a ne",:,office, new per- Announcements Announcementa 25 t 1 ,i ...j - sonnel, and new shipping systems; even then, the mass this update, it's yours for the cost of a diskette, postage The address for new orders: USUS FORMS FOUR NEW INTEREST GROUPS, of orders - a fifty times increase - caused some de- and handling: $10. JRT Systems ELECTS OFFICERS AT MEETING IN DALLAS lays. If your order didn't arrive quickly, thank you also 550 Irving Street for your patience. We believe you'll find JRT is worth The ONLY disk formats available are: San Francisco, CA 94122 DALLAS, TX, Nov. 15 - USUS, the UCSD-Pas- the wait. 5V.{'for Osborne, Apple CP/M, North Star, Superbrain, ca1 User's Society, elected new board members and With the new capabilities, the goal of a one week Heath hard sector, Heath soft sector, Xerox 820, Note 9: Feedback. . . Please! officers for next year, committed itself to increased user order turn-around is now in sight. education and informed new special interest groups Televideo A dynamic product, new JRT Pascal versions are (SIGs) at the orpnization's semi-annual national meet- Note I: Five and a quarter inch disk versions 8' single-sided, single density standard always being developed. The system's main evolution- ing recently concluded here. ary force is feedhack from YOU Please specify which of these formats you need. - the user. We invite Speaking of the strengths of this popular language, Requiring only 85K of diskette space for the com- and encourage you to write us your ideas about piler and 35K for the run-time system, JRT is currently - - keynoter John D. Paae of Software Publishing Corp. how to make JRT Pascal even better. (Mountain View, CA) noted, "PFS was done in UCSD the most compact Pascal available for CP/M systems. Note 5: Coming - JRT Pascal version 3.0 Pascal because a task of that size and complexity could For program development in JRT Pascal on computers In January we'll begin shipping JRT Pascal 3.0- with five inch disk drives, we recommend this file a major enhancement. New features include: not be done in BASIC." PFS. with more than 100,000 arrangement: unita aold, is the siDale best-selling Apple Pascal . builtin indexed file system ENHANCED PASCAL COMPILER FOR program. On disk A: On disk B: . facilities for screen and report formatttina IBM MAINFRAME COMPUTERS "As the p-System is becoming more widely dis- . EXEC,COM . JRTPAS2.COM . dynamic arrays tributed and an even more attractive target for appli- . your editor . PASCAL. LIB . improved compiler error recovery ACUMEN Software Services Ltd. is pleased to cation developers. we are experiencing a &rowing de- (ED, Wordstar, etc.) . PASCALO.INT . enhanced EXEC interrupt announce the release of Version 2.0B ofthe Australian mand for user education," according to Randy Bush of . the Pascal sou rce program . PASCALI.INT . full support for file variables and GET/PUT Atomic Energy Commission's PASCAL 8000, an im- Volition Systema (Del Mar CA). who is the newly being developed . PASCAL2.INT . expanded user manual proved Pascal compiler for IBM mainframe computers. elected chairman of the society's board of directors. . PASCAL3.INT Of course the price of new 3.0 will still be $29.95. The AAEC's PASCAL 8000 Versin 1.2 was one of "USUS plans to increase its emphasis on tutorials . PASCAU.INT the first production compilers for the Pascal language. and member education to meet that need," he said. In IMPORTANT NOTE - The file PASCAL. LIB must Version 2.0 offers the user significant improvements; the future, approximately DDT EXEC. COM - has improved compilation speed - its aoftware exchange library and formed four new SIGs long as it's not for resale. system makes for easy changes - it enables the user at the Dallas meeting. Some 200 people attended it. Error: multiplication o~ real DDT VERS 2.2 Permission to make copies is also specifically it can support numbers by 0.0 produces IDcor- to change the final condition code - SIGs were formed for uaers of the IBM Personal NEXT PC granted to schools and to computer clubs for members. lower case. The language accepted by the compiler Computer, Texas Inatruments computers and the Sage rect result 5BOO0100 If you develop application software for resale, you conforms as closely as possible to the ISO Draft Stan- computers as well as for those interested in inftuencing Patch procedure: Use CP/M pro- may distribute the run-time system (EXEC. COM and gram DOT to patch EXEC.COM -S563C dard. PASCAL 8000 Version 2.0 can rapidly pinpoint file access standards beiDIIdeveloped for multi-key ac-. PASCAL. LIB) with your package with no license or problems in original source language, a function which cesa methods for p-System networks. key in underlined code. 563C ED EB royalty fees. - - , is available on only a few other compilers. In addition to Bush, USUS directors for the com- 5630 53 In Version 2.0B, CMS support for VMlSP has been ing year will be N.C. "Arley" Dealey of Volition Sys- -GO added, improved traceback in the event of a system tema, Michael Ikezawa (Rolling Hills, CA). Nancy A> SAVE 90 Note 7: YOUR Pascal application prolrams &bend is provided, compile-time specification of the LanniDl of SofTcc:h Mi<:rosystems (San Diego, CA) and EXEC.COM. Naturally, more and more owners are developinl maximum procedure table size is introduced, as well as Robert Peteraon of Texas Instruments (DaUas. TX). more and more JRT Pascal written application pack- other improvements to the run-time system. Peteraon will alao aerve u preaident of the organ- Note 3: Patch # 2 ages for sale - we've heard from many of them. And PASCAL 8000 compilers are already in successful ization. Otheroftlers are A. Winaor Brown (Huntington Applicable version: 2.1 A> DOT - for developers - our copy and license policy is par- use in over 250 offices around the world, in banks, Beach. CA). vice president; Michael Hadjioannou of Error: Message 'Scurce file not JRTPAS2.COM ticularly attractive. schools, life assurance companies, universities, com- Ticom Systems (Marilla del Rey. CA). treaaurer; and Now we're putting together a JRT Application puting firms and government departments. IBM DOS Thomas Woteki of Ferox Microsystems (Arlington, found' when compiling under DDT VERS 2.2 VA), CP/M ver 1.4 or COOS Software Directory and would like to list the packages and Perkin-Elmer versions are currently under NEXT PC you have for sale. For free listing, just fill out the en- development. The IBM PC SIG will have three CCKhairs: Gary Patch procedure: Use CP/M pro- 5500 0100 gram DDT to patch closed Application Program Description and return it The compiler is supplied on 9-track EBCDIC 1600 Gibb of Thunderbird Properties (Oakland, CA), David key in under. -A2B9 to us with tangible evidence of your package such as BPI tape and includes; a user reference manual con- R. Gobel of Eastern Business Machines (Greenbelt, JRTPAS2.COM - lined code. 02B9 CALL 3F83 brochure, manuals, diskette - but quickly, please: the taining a description of the lanauage as implemented, MD) and Mitchell D. Garrett of Digital Engineering 02BC CALL 413D first Directory is scheduled for February distribution. an implementation guide and implementation JCL. Group. Inc. (HoUlton. TX). PASCAL 8000 has a one-time license charle of The TI SIG will be <:haired by Danny Cooper 02BF, $US 2,000 and annual maintenance and enhancements (Plano. TX). and Tom Siep of Texas Instruments (DaI- -GO Note 8: New address and phone number charge of$US 250. Iaa, TX) wiD bead the Saae SIG. Steve Castle (Park The new phone number for orders only is (415) Enquiries about installing a PASCAL 8000 Version Ridae. IL) is chairing the File Access SIG. A> SAVE 84 In addition to tutorials, SIG meetings and technical JRTPAS2.COM 566-5100. 2.0 compiler should be directed to: The address for technical questions and prob- Mr. Bryan Brooking sessions. the meeting featured product announcements and hardware demonatrations. SofTecb Microsystems lem reports: ACUMEN Software Services. Ltd. Note 4: JRT Pascal version 2.2 update P.O. Box 86787 aonounced the availability of iu 4.1 version of UCSD JRT Systems Pascal and Statcom (Austin, TX) announced and dem- Version 2.2 of JRT Pascal is now being shipped Technical Services North Vancouver, B.C. V7L 4L3 onatrated CRTForm. an automatic code generator for - 2.2 includes some internal enhancements and repairs P.O. Box 22365 UCSD Pascal on 4.0. aU problems rePorted in earlier versions. If you want San Francisco, CA 94122 Telephone (604) 980-7118 Announcements 27 26 Announcements .I." Ticom showed the UCSD p-System running for the INMOS MICROCOMPUTER ACfIVITIES Three types of primitive processes are used in oc- CHAN tnpuU[16] .- dctc1are . 'elector.of 16 ch.nn,1s first time on the NEC Advanced Personal Computer. Inmos is already established as a technical inno- cam. The first and most familiar is the "assignment". 5EO t-(O fOR 100) n fOR loop. SUIII..,.,.ay ,1~nts sequenth1ly Other demonstrations included the Sage II computer vator in memory products. It has market leadership in Assignment in occam is exactly the same as in other sUII:-su.-+.,.r.y[t] from Sage Computer Technology (Reno, NV) and the ~ast.16K static RAMs in both 16Kx I and 4Kx 4 organ- languages; it gives a value to a variable. PAR'-(0 fOR 100) n ~re-pltcato"" c,.e-.US 100 ,a,..lIel proc,sses Modula-2 programming language from Volition Sys- .r,.a1[1]:-.rray[t]+1 ;ncr...nU .,.r.y elnenU tn p.,..11,' IzatIOns. Its IMS2600 64Kx I dynamic RAM is the fast- The other two primitive processes are "input" and ." tems running on the Sage II, the Apple II and the TI est available, and it wiD shortly be introducing 8Kx 8 "output". These allow communication between "con- AU t-(O fOR 100) u alternattve .nd rephcato,. c0llb1ned 990. tnputs[t Hch.r se1ect an tnput from a,.,..y of and 16Kx 4 versions. current processes", that is, processes which are run- -- Ch'Mf'h out !ch.r n find ~tput thf' .tnner The next scheduled meeting of USUS is April 22- The other plank in the product stratellY is the ning in parallel. Communication takes place by input- ch.,.:-.,.,.ay(BYTE t) ByTE lIeyword allows byte add",ssfn, 24, 1983in San Diego. USUS is a vendor-independent, -- Transputer, an advanced microcomputer due to be in- ting and outputting "messages" through "channels". u non-profit user's sroup for the most widely used, ma- PRO(: buff,r (C.HAN tn.out) abstractton ..chants. troduced in 1984, It is beina designed in Bristol En- WHILE TRUf loop for e.er chine-independent software system, UCSD Pascal. A channel is a one directional link between two -- gI~nd at Inmos' United Kinadom Technology C~nter. concurrent processes. A conversation between two VAR It: USUS was founded in 1980to promote and influ- SEQ u t1llP1Ment. 1-de'pbuff,r MIcrocomputers are the key products in the semicon- processes requires two channels. A channel imple- in?.. ence the development of the UCSD Pascal System and ductor industry, fuelling the silicon revolution. They ments a handshaken unbuffered data transfer between out !It to provide a forum for education and information ex- are the fastest growing market sector, and with asso- change about it. Annual membership in the society is the sending process and the receiving process, Since a CHAM c: ciated hardware and software support products, the channel is a point-to-point connection, no addresses are PAR $20 for individuals and $500 for institutions. buffer (tn.c) .- now 'nvolle thto abst,.action largest. needed in the messages. buff.r (c. out) Developing microcomputer systems is a complex Occam needs a minimum of constructors. The task, The user needs efficient tools to design and debug "sequential" constructor introduces a block of pro- OCCAM IMPLEMENTATION GREAT PLAINS SOFTWARE ANNOUNCES FIRST systems and languages to program applications. Inmos cesses which are to be executed one after the other. The SHIPMENT OF THE "HARDISK ACCOUNTING decided early that the support products would be made "parallel" constructor introduces a block whose com. The conventional implementation of a process, SERIES" TO APPLE DEALERS available in the order that the user needed them to cre- ponent processes are to be executed in parallel. which uses an area of memory to bold the variables and ate his systems. They will be announced during 1983 The "alternative" constructor selects one (and scheduling information, works. For many applications. Written in USCD Pascal, the program runs on Ap- a simple round-robin scheduler is adequate. Many im- ple II and III, with a Corvus or profile hardisk. The pro- ahead of silicon products. ' only one) of a set of processes. Each process has a While the transputer will support software in all "guard" associated with it which is usually an input plementations of a channel are feasible and should be gram will run on IBM's personal computers and most popular high-level languages available today, it is seen readily apparent to system. designers. The details wiD other microcompu ters in April. statement. The alternative constructor selects the first by Inmos as more than just a "better" microprocessor. of its processes whose guard is ready to input and then vary to exploit machine-specific features or other The menu driven, double entry accounting system Rather, it is a silicon "building block", the component choices, like a multiprocessor implementation. For in- features interactive modules and complete audit trials. executes it. If several guards are simultaneously valid, for the massively parallel systems of the SO's and be- just one of them is randomly selected. stance, a channel.between processors can use shared With extensive data prompts, error checking and an yond, such as the so-called Fifth Generation computer memory, 10 ports or seria1links. operator's manual. users will find the system easy to There are also looping and conditional construc- systems. tors, and a replicator mechanism - which allow the Interrupts are easily handled within occam. A pro- use and understand. The efficient design and implementation of these arraying of processes. In addition, the language gives cessor with N nestable interrupts can be modelled in For more information contact Great Plains Soft- sy.tems i. not possible with current languages, whose occam as N+ J communicating processors, The base ware, 123North ISthSt., Fargo, ND 58102 or call (701J acce.. to a real.time clock. designers never intended them for such applications. processor needs a scheduler, while the interrupt pro- 293-8483. To meet this need occam was created. OCCAM SYNTAX celson may have none; beinljust a single process wait- ina for input from a channel which hides the interrupt . Occam has been designed to be used with an in- WHY A NEW LANGUAGE? logic. The microprocessor hardware will then auto- teractive workstations, which affects aspects of the matically multiplex the processor between base pr0- A common factor in real systems is that they con- syntax. For example, since a screen provides a limited INMOS ANNOUNCES OCCAM cessor and interrupt proceSIOrs, This ability to handle sist of a collection of components which exist alonaside number of lines of text, the block structure of the text interrupti in the Janauaae can significantly reduce de- INMOS annot/nces occam, a new programming one another for the lifetime of the system. The com- is shown by indentation (rather than BEGIN..END sip and Integration timeacales, lanauage. Named after the philosopher William of Oc- ponents are independent, and from time to time com- keywords, which makes inefficient use of the screen). Implementations of occam are efficient, with code cam, the language is based on the concepts of concur- municate information with one another. Because the meaning of a program is affected by its densitiel and execution ratel closer to assembler than rency and communication. These concepts enable to- Existing programming languages are designed for physical position on the screen, an integrated editor- typical high levellansuages like Pascal. This is because single-processor use. Although they do allow a system compiler is nomaUy used to write an occam program. day's applications to be implemented more effectively of a deliberate choice to restrict the 1anguage to those and are essential for the complex multi-processor sys- to be broken down into its separate components, they Here are fragments of occam to illustrate the featurea which are supported directly by all likely ma- tems ofthe future. insist on executing these components sequentially. This syntax: chines. An implementation of occam needs a small run- Systems, even those with only one processor, con- is a poor model of a real system. . SEQ __.. Sf'qu~nth1 constructor time system but this is typically less than 100 machine SIst of many parts working together, that is "concur- With the reducing cost and increasing capability of tn?cha,. fj,.st input f,.om chann~1 "jn~ instructions. rently:' When used in programming a system, occam tomorrow's VLSI components, systems can be built out !char .. th~" output th. v.lu. to channel "out" ._ The overheads of concurrency is higher in systems directly represents these components and their inter- from multiple processors, which are much more com- PAR p.r.11!'1 constructor whicb use "gratuitous concurrency" than in those Dutil .. output connections and gives an efficient design and imple- plex than today's systems. The limitations of current 'A' __ "A~ to ch'nn~1 ~outl" In pUI11,1 outZ! w1th outputt 1ng ~8" to channel "outZ" where the parallelism is tuned for petformance. For in- mentation. Future systems will have many processors, languages prevent the exploitation of such systems, and '8' __ ALT .Itf'rn.th, constructor 1WICe, doing assipmeDt statements in parallel on a and occam's understanding of concurrency will be es- clearly calls for a new language. .. gu.,.d; try tnput trOlll chann!'1 tnl?char __ "'1'11" single processor system will result in some overhead. sential for their design. out !ch.r if gu.rd succ~~ds. output tu tnput However, concurrent communication is efficient and ,!,o introduce occam and concurrency, INMOS is OCCAM in2?char .. another guard out !ch.r _. and 1ts iSsoc;,t~d p"oc!'ss sensible. It is expected that an occam system on an in- offenng an Occam Evaluation Kit. This will run on any Concurrency in occam is implemented by having dustry-Itandard microprocessor will incur less over- system supporting the UCSD p-System (version IV), WHJLE x>O u WHILE loop a "process" for each independent activity. Concur- SEQ __ head than one usina a traditional real-time kernel. and costs $200. The kit includes a compiler-editor and ~ency reaches to the lowest level of the lanauage, the jn?x __ input. full supporting documentation. The UCSD p-System out !It th~n output .s long IS .1\>0 mdlVldual language statement. These statements are __ WILLIAM OF OCCAM may also be purchased with the Occam Evaluation Kit called "primitive processes". IF 1t(0 cond1t 10nal . u .sslgnment for an additionalcharge. A primitive process on its own cannot do much so __ The language occam was designed by Inmos in VARch.r; d~cl,"e . vlr1lb1~. "ctlU" Other occam products will become availble in the language provides "constructors" to group them __ co'liunction with Professor C.A.R. ('Tony') Hoare, CHAN in: dee1,r!' . ehanne1. ";n" Director of the Prosramminl Research Group at Ox- 1983. together into bigger processes. __ VAA.,.,..y[100]: dec1are . v!'eto", ".rr,y" of 100 el~nt' ford University. 28 Announcements Announcements 211 A predecessor of his at Oxford was the fourteenth . COMPILER to produce P-code, the assembly Rldge-32 2.2 Prime no 750 century philosopher William of Occam who is best language of the P-machine DEe 2060 5.4 VAX limo 331 known for "Occam's Razor", "Entia non sunt multi- . INTERPRETER to execute the compiled P- IBM-3701158 7.5 DEC 11I34 134 plicanda praeter necessitatem," Literally translated, code (with TRACE facility) VAX-limO 10.2 (680008MM) m "entities should not be multiplied beyond necessity", . Structured programming constructs: CASE-OF- 68000 8 Mhz 19.0 The Whetstone program is a lIoating-point intensive it is often seen as a plea to keep things simple. More ELSE, WHILE-DO, IF-THEN-ELSE, RE- IBM 4331 38.0 program representative of scientific calculations. generally, it suggests that if two or more solutions to a PEAT-UNTIL, FOR-TOIDOWNTO-DO, BE- Apple II 1500.0 problem exist, the simplest one is preferred. GIN-END, MEM, CONST, VAR, ARRAY The puzzle program, developed at Stanford University "With addition of hardware ftoating point. This approach of simplicity is fundamental to oc- TINY Pascal PLUS+ provides graphics and other by Forest Baskett, tests the computer's ability to per- Please contact Ridae Computers. 586 Weddell Dr., cam and is extended to all work that Inmos is carrying built in functions form basic operations, such as procedure calls, array Sunnyvale, California, 94086 or call Benay Dora- out in its VLSI products. It also reflects the well-pub- - GRAPHICS, PLOT, POINT, TEXT, IN KEY, ABS and SQR. The PET version sup- references, conditional branches and comparisons. Abrams at 408-745-0400. lished views of Professor Hoare that many modem lan- guages are unnecessarily complex, and in some cases ports double density plotting on the 40 column screen giving 80 x 50 plot positions. The APPLE II version WHETSTONE BENCHMARK dangerously so. supports both LORES and HIRES graphics with: COLOR, HGRAPHICS, HCOLOR, HPLOT and PDL. Whetstones OCCAM PRODUCTS For those users who do not require graphics capabili- Machine (ThousanlW see) Inmos ia announcing an Occam Evaluation Kit ties, the original TINY Pascal package is still available. Rldge-32 1500 along with the language itself. It allows medium-sized Prices for the diskette versions for APPLE 11and programs to be designed, written and executed, and is Perkin Elmer 3240 1172 PET are $50. A cassette version for the PET is also VAX 11/780 753 ("1168) intended to teach people to think "parallel". available for $55. The original non-graphics versions The kit is a portable compiler and editor built upon are available for 16K132K PETS and APPLE Ii's on Softech's UCSD Pascal system (version IV). It gener- diskette for $35 and on cassette for the PEt for $40. ates p-code, which is executed in the normal fashion by For more information contact: ABACUS Soft- SOFTWARE CONSULTING SERVICES a p-system host. It is available tailored for the Apple 2, ware, P.O. Box 7211, Grand Rapids, Mich. 49510. 901 WHITTI(R DRIvE Au.(HTOWN. P(HNSYlvAHtA (21~ 197-t690 Sirius I/Victor 9000, Intel MDS, IBM Personal Com- I"OJ puter, VAx/VMS and LSIJII and is provided in the ap- propriate diskette formats for these hosts. It is also PAS('AI. \'.\UDATION St'ITE \'ERSION 3,1 NOW AVAILABI.E lit'rnsf's of f'8rlif'r of tM available in uncommitted form on diskette in Sof- Thf'rf' art' nurl~' "f'rI'" Validat'" S.tlf'. 'he StHte" 8' HELP WANTED an eoxtf'nsi\t' rt"\'ision* of \t"rslon :UI. It c."O.la1.. ("Of'rft to ..rl, .. tlefteieacin ,.... tech's UCSD Pascal distribution format (single-sided, \,:1.0 and has ~;i;IIt"st pro~ram~ 01 ~kh single-density). Our company is presently looking for a Pascal ex- in P\'S O\'f'r I~ are w.' or modified. S.a.wqu.1 The kit includes language and compiler manuals, pert to work for us. His duties wiDinclude bringing Pas- rt'\'isions 10 Iht> Suitr 4Irt" likel~' 10 M minor. together with installation instructions, warranty and cal into the data center as a second language. He/she TtwValidalionSulteo dnt'toped b~BriaR,,'kit i. I. FK. An r Sa~ ia Tasmania undt'r tht' auspit"8" s of tlM-I)asull {.roup. TM i.tf'a.iea of tM PMc.'ka~r is example programs. The Occam Evaluation Kit costs should have five years experience in Pascal usage, a !!Ot"" '0 $200. degree and be a good communicator. This career op- t'nt'OUraKeo a \rr~- hilth df'Krf't" of por'abili.~. of Pa54.'.1 pI'OIr.ms 1f'\'f'8 ..iahrr prewa. portunity is with a major conglomerate and involves .Iy exis'si. aAd to pro\'ide USf'tS . mf'{ ism to .u.n .hfomwt"f'S t 'If'Mor'S During the first half of 1983, Inmos will announce _ ( state-of-the-art technoloay. prochwt!l rompl)' ,,'ith Ihf' S.andard. \'ali4alioll rt"pOl'ls piien arf' publisH4 i. hardware and software packages which support se- Pascal lected industry standard microprocessors, including Please have interested people contact Larry C. :"'\t'.'s. tbe iAPX 86 family and the MC68000 family of micro- McWilliams at 1-800-821-3194. Rn.rk"ie8. processors. These packages will be offered either as Th... ('onditions 01' rf'leoast' prollibit tilt' di..ri" 1M ",('k.lf' to tIIir. ,.rlif's H .s to IImil thc' ~roYoth 01 unaulhoriz" and iaanur.lt' '.rr "n'nrr. ao is pl.(~ 1) mtrtel'" "software-only" for running on a UCSD p-system on th... 1 prec.on fer bt'adII rki... 1..- a('('t'p. host, or integrated with a microprocessor-based work- ust" 01 th... pac.'kaRt' I'or \ aliu.inll lan('f' tt'sts, lor prf'par'na (..mpara.iu rf'port "imU.r .t'lh..it6n 4islribu. station offering high-resolution graphics, 256K bytes of RIDGE TIDRTYTWO GRAPIDCS hon of tht' results 01 su(.h uSt>, TIlt' \..IHIa Mile hHtI .''*1,. IISH alNl dis.rilMl.e'4. memory and high density ftoppy-disks. Expansion ca- and has nOI bfot'n rt'slri('l" to a small 5..bwt .f IIKoIIIf'r c.'Omm..II,. pability for the workstation will include a local area The RIDGE ThirtyTwo is a 32-bit multi-user Thf' Wa~' nia.. Ar~ network and Winchester disks. graphics work-station. Pascal is the system languaae. Th(' .-as(..1 ('ompiler \'.lidaliDR Suite ot.",od188'ft,: 11._ u.,. 01 It's. 4:ode" (or For more information on the Occam Evaluation We are seekina engineerina and scientific packages I'as('al c.'ompilt'rs. It "as df'\f'loprd b~' A.II,J.Saw .1Id R,.'reak .. Ibe l..ht"rsit~' 01' Kit, contact Brad Hartman at INMOS, Colorado written in Pascal to run on our machine. Tasmania and B,A.Wid.maa. aad Z.J.Cifto kl .. tlw Brili.h S n,'.ic.'al , soIf' Springs, Colorado (303) 630-4362. The RIDGE ThirtyTwo offers high-performance t..aboralor~. Thf'~ own it and ha\'t' ri_ltts i. .1~'mi.j.1 tM poUdo i.\olu'd ia ih disaribulion. Allhou«h Ihe tile V.lidaI... StIlle I. 801 dirt'('tt~' It...ablf'. 0IIf' (.a.. (2-4 times the speed of a VAX 11/780) and high-reso- \'8lut' 0' f'S' timaleo atilt"('osl ot rt"("fealinK it al approximatel)' six Milan per iiiit' t.'OM or .boul S..... lution graphics (l024x 800 pixel graphics displays). I o' 000. Ors. Sail' aDd Wi...ltmann h8\'e hte4 .. 4 '''i",W 8Ct al . ...triMI8I' . have enclosed results from the Stanford Puzzle Pr0- '0 TINY PASCAL PLUS+ FOR PET AND APPLE II gram and the Whetstone Benchmark. Please contact for Ihe \'alid.tiOll Suitt' in bolh Nert81 SMtll A..eriea. ABACUS SOFTWARE announces the release of me if you know of any software houses or OEM's who [A'I l'S "elp Y.. TINY Pascal PLUS+, an enhanced version of TINY would like to use our hlah-performance Pascal. I. Should ~'ou ha\'f' an~ te('hRi('al qtIftt reprdl~ tlte \'IIW8lio1t S.h~, plf'aw "rilf' 10 mf' Idon'l 't'If'phonf" and I ,,'III rnpotHI or 'onurd C'Ommt'.t.r~' Saw .Ad Pascal with support for graphics. The package runs on Y'" '0 Wic.'hmann. Thrseo men ('Onslantl, tr8\lt'1 al8d II _«MIld ~ difficult 10 Irad, thf'm do.n the 32K PETS and APPLE II's with Applesoft in ROM. STANFORD PUZZLE BENCHMARK heolp, It is available for immediate delivery. (Pascal, Subscript version) ".ithoul m,' TINY Pascal PLUS+ is a complete package allow- t. It ~'ou ha\-t" Iroublf' rf'adinK Hf' of..r tapPI or 81Ulin ('811 Martlla {'i(,HIii 1!Ii-m. and sheo "ill ht'lp strai«htf'n out t~ problem. !\larllta i. in ('8Iarlle of prepari.1I tIN- ing the user to create, compile and execute programs Machine dislribution."H' written in the Pssal language. TINY Pascal PLUS+ (seconds) Time H.lp l includes: Ptf'.W '. IBM-3081 1.3 H the leorm~ of Ihf' tj('f'nsf' ..r«mnl ar~ not a(,,('f'ptable 10 ,'our aiu16oa. ptfttw do . LINE EDITOR to create, modify and maintain nol req\Wst a ('OpY o. Ihe \'aUdaliOll Suite. I M'i.M, tM ri«hl DOf'Ihf' iaelill8lion 10 S-I Mark I 2.0 u"'C" source IBM-370/168 2.1 aulhorizt' an~ amendmen.s to Iht' SaIt'.Widlmanll U(,f'Mt' ..rumenl. 30 Announcements Announcements 31 ~ ~ I i i APPI.ICATION FOR LICENSE TO USE VALIDATION SUITE FOR PASCAL N.m~ address of reqUt'ltor: ICompony namr it rrqurstor Is a rompo.yl O. DATE 11/23/R2 , Numlorr: ,. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR(' aiY. . _d ".,."". """". ""m.., '/ N81M aDd address to which inform.tion should Foster Schucker lor msed !wrltr .bevr"lf tltr ..mr}: Assistant Oirector Computinq Services Suny 13 Fresonia Fredonia, ~IY 141163 SlI_t.rr of rr<8uestor: 716-673-3393 DoIk: 2. MACHINE/SY~TEM CO~FI~URATION (' A"., M.",,, t/I.,:"",...,._., rt sohw.,.,..,,,;,.d. .... Burrouqh!; ,anTC. ys cms -.." I. m.bl.. thl. .ppllrotlon. which.hould lor.llned by. lhlr penon 18tItr of. y. tItr" qrrn ""., ,.tMr. '1 thaI: 'n B5000/B6000/B7000 ., TItr V.Udall... S.llr I. rrroiniud as Iorlal tItr eopyrlpled. proprlrtary property of TItr BrlIiIIIStaaoIard. 3. 2, 3. 3, r1CP Orpnlsa_ .nd A. H. J. Salr. .nd hI TItr rrqwotor will DOldl.trlbtolr or othrrwlar makr I..hlr ~reHahh .".,... of tItr V., tI8a Salk. "Ied or unmodified. to any Ihlrd party withoul wrll" pe,ml8.1oa of tItr eopyrlplllolden. I. rrl.,.. tItr eopyrllhl holdrn .,.nllull pe,mluloa to _ thr proIf8m. .iId e88tal8e4 .. tItr V.I I_ """_1108 3. DISTRIBUTION (' Who ..i. how com... in ",h« oprIo",. _« ""'.',.nc.. 'I Salk lor tItr ''''poor 01rompllr, v.lldallon, .eerptaarr &rIta.be8eUta ,..., 1108of nmpantlve repert. .. '0 i' .Iml.., purpooe.. and to mabr av.l..hlr tItr 118118pof tItr renlta of ,...tI8a ... of tItr 18IIIInI Operations Supervisor 1600 BPI or 800 BPI partin 18tItr counr of tItr .bevr .etlvltln. 18._ ,.mr.ta. rrlere8re ..II ...... ex""'"18tItr eopyrtpt _lee Computing Services Library r1aintenance tape ... 11I_,er. Fred Suny A Fredonia Distribution Charge: $300.00 Fredonia NY 14063 Make checks payable to: Mall Request ud Check To: $25 w/tape $50 without (1800) Software Coasultiu Servlees Software Consulting Services 901 Whittier "Dr. Ask for 3.3 Pascal In US dollars drawn on a US bank. AlientoWDI. P A, 18103 USA Attn: 1\. J. Clcbelli Remittance must accompany application. 4. DOCUMENTA nON Wh.,i. ...,..,. ."d ""'.,. '/ Not much hut is" in computer readable form 5. MAINTENANCE (.,. it unm8int.;n.d.fullym.;",.m«l. ~,-} Partially naintained. It's used as a teachinq tool, so not M'ICh I .. I r' ...... support is rp.allv nenc1ec1 ( 8} ",11III... pertly.112",800'. ,: I , 8. STANDARD f. HOlMdo.. it me.,ur. up to ,t."d.,d /#ucM1lilt. EateHH1 How. , I , """." (1-'" I 11100'" Have not had a chance to try the sale suite yet. It has extensions I AIIII-$TMDMI. EIcIIII;cII ,... 18. FIrIIII to fit into the Burrouqhs Pile SysteM. Other minor hells/whistles. 80__ en ... EIcII".,... , 11:1'11 IUCII. 1'1... 1 ~ ... . MIll!IIa II 40 II;cII I I UCII .. IV I BIT IIIIIIIIIIIIIII ~. CIIInctIr1:8: ( I IDEe_FIlII" I. 1740, ,_I I 1ASCII 1 EICDIC F.... 7. MEASUREMENTS I IIEC AItnII8F.-: , I (1,211 " a'." ."..d 0'.".c. '/ 1 IIIIX-IAI"'I'" AIIII"'ax maBll. 1 1_-1m FU. I I '''211 Running at ~ 25 sites Ofllee Uar O8Iy 9. DEVELOPMENT METHOD How w.. it ,..d."d whM"'H it ",,;IIM 1101'1 Slped: " Step 5 compiler modified by Jim Hadden UCSD. Pascal is source DoIk: Lanquaqe. Richard J. Clchrlll (. 10. LIBRARY SUPPORT An.. othe, ,uppo" c.mpO., itI the .J 'IN'" 0' Ii""..., to otlt.',,,,,.u NU," NlHwle.. elt:. On 01 A. H. J. Salr .nd B. S. I. supports Burrouqhs intra lannuaqe'0' librarv support. ""Iu" 32 Implementation Reports 33 CDC 6000 DEC PDP-i1, VAX-ii (Oregon SOftware) A ~rsion of Pascal 6000 3.2 is now avail!lblp that usps thp ASCII charactpr Oregon Software Pascal-2 spt (rath~rthan CDC Display Codp). If sufficipnt intprpst Is found, it will bp madp avallablp for distributIon throu9h thp standard Pascal 6000 MPchanlsm. o. DATE 4 November 1981 Con~y your Intprpst to your Pascal 6000 distributor or: 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTORr ow. . _. -.. _ ",..,.. .J Scott Trappp Oregon Software I'f,; 92-134 Tpktronix, Inc. 2340 SW Canyon Road Portland Oregon 97201 PO Box see lIPa~rton. Q-P90n <:nVJr7 (503) 629-1717 Phone: (503) 226-7760 2. MACHINE/SYSTEM CONFIGURATION r A""__ _",.co~ ..,. CDC 7600 (Manchester) J All Digital PDP-ll processors, Including Vax-ll in compatibility o. DATE mode. All Digital PDP-ll operating systems, RSTS/E, RSX-ll, H/15/fJO RT-ll . 1. IMPLEMENTOR/MAINTAINER IDISTRIBUTOR (. G... . p...on. odd,... .nd phon. numb., Compiler requires EIS, 28K words of memory, 500 blocks of disk.. 'J 3. DISTRIBUTION r Wlto'o howIt_'.In ."".,.-. _.,."".,,,,,.,.. .J University of 'Ianchester Reqional Computf!r Centrf! Oxf.ord Rd., !Ianchester, Enqland Available from above. Write for price and terms. 'Iaintainer - Sf>e S 2 MACHINE /SYSTEM CON FIGURATION ,.Any lenaw" limit. on the configuI.rion 01.UPPO/' lof,w.,. ,~ui,.d. .,.' .) Control Data 7600 and CY~t.R 76'p.,.ting 'f.t,,", SCOPF. 2.1.5, 32/~4K/ SC~. 4. DOCUMENTATION (.WlMtf J (. 3 DISTRI8UTIO N Who to ask. how it com... in wh.t option.. .nd.t wh.t prie.. .J pascal-2 User Manual, 175 printed pages, includes Contact Collins at above address. h distribution aqreement utility guide. Shipped with order, or write for a free copy. R. J. (. fu/fy ,_. mu~t he sionf!d and the cost is ~50 sterlino. 5. MAINTENANCE I.Itunm"""'.. .c'.J 4 DOCUMENTATION (' Wh., is ..oi/.bI. ..d wh.,. ./ Fully maintained. Same as Pascal ~ooo release 3. (.Howdo..Itm...",. up at__ "_.111. It. _, E_ He J 6. STANDARD '0 ,. I, It unm.I",.in,d, fully 8} 5 MAINTENANCE "','nt.m.d, .,e' Very close to draft standard without contormant arrays. U'IR~C cannot 1I,:dertake to maintain the nroduct al thou'Th we ~lOulrl Extensions include structured constants, "otherwise" in case, he J.nterested J.n anv bUrTS in the 76110 denendent corle. I/O interface, Random access I/O, low-level machine interface extensions. 6 STANDARD (. Howdo.. it m",UI, up to .t.nd.,d P.sc." I, it .,ub,.,' E.,.nd.d' How.8J Sane as 6000 PhSCAL release 3. 7. MEASUREMENTS (. OfIta _. .J Of 7 MEASUREMENTS (' irs sp..d., sp.co '} Code is a small as and as fast as any other Digital Language Requires 50000B words ner>ory to cOMl,ile most student iobs. processor. Benchmark data available on request. (.Anylnfomr_"__,, 8 RELIABILITY r Anv info,m.t;on .bout .fi.'d s;t.s inst.lI.d_ 8J 8. RELIABILITY J u" 0' Installed at over 200 sites. Has been used in-house for Same as fiOOI1 I'hSC1\T, release 3. 2 years. . 9. DEVELOPMENT METHOD r Howw.." dewIetH Cross cormil"cj from CYnE~ 7200comr>iler Written in Pascal, bootstrap using OMSI pascal-l 10 10. LIBRARY SUPPORT r A"yother__ ~ In",. fomr.f /In"- J, _ """'_Jt#IIrOO _. _. .J ./ Linkage to external routJ.nes"" in Pascal~ Macro, or Yor~ran. Utility programs include cross reference generator, formatter, documentation aids. 34 Implementellon Reports Implement.tlon R8p0r18 H ~I !I I a. Intel 8085 (Cogitronics) Intel 8080, 8086 (Microsoft) o. DATE 28 January 1981 o. DATE 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR Gitto 0 ,-.. 'J 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR I" _. - Donald l. Dunstan (503) 645-5043 Cogitronics Corporation Bob Wallace or David Jones MICROSOFT, INC. 5470 N.W. Innisbrook PI. 10700 Northup Way Portland, Oregon 97229 Bellevue, WA 98004 2. MACHINE/SYSTEM CONFIGURATION (' An" known U_. on thoconf/tl lIWtoto _It .,.",... In whl8t option.. ond I8twhot,mc.. 3. DISTRIBUTION I" 'J 3. DISTRIBUTION (' 1IWt010 how It In whl8toptloM. _III -",.,.. 'J """". Bill lowery. Director of Marketing Only offered to the Hardware Manufacturers for distribution. Please Available on mechlne readable media of host computers contact OEM Sales for price and availability. Single user license $2000 Customer Demonstration Kits available 4. DOCUMENTATION (.IIWtI8tI.."oIIoblundwh.,..'J 4. DOCUMENTATION (.lIWtol/..,, 'J Cogitronics Pascal Reference Manual (available for $15) Manual - $20.00. 5. MAINTENANCE I" I. It "nmolntolnod. moIntoinod.18tc7'J ""'" 5. MAINTENANCE ('I.Itunmolnlolnod.fIIIIr molntoltlod. 18tc7'/ Fully maintained Fully Maintained. ,. E.t_7 How.'J 6. STANDARD How doo.1t ",...",."" to .tondonl P..col71.1t 0 Ho_doo. to xtondonlP_71.lto_7E.t_Ho-.'J """.t7 6. STANDARD I" Itm...",."" ISO standard (Level 0) plus many extensions .forsystems progr8lllDing: ISO standard, see validation suite results strings, address type, super arrays, attributes, value section, interfaces. Microprocessor Software Engineering Adaptations etc. 7. MEASUREMENTS 1"0flt ,"'_..J 7. MEASUREMENTS (.Oflt ,,,,_..J Z-80 based GenRad development system compiles at 800 source lines per minute Generates very efficient optimized native code. Requires 64K system _ __. 8. RELIABILITY I"An"Infonn__ _ _,'not_d. S. RELIABILITY Infomtotlon_t _ "..'" 'J I"An" "..", 'J Product released 111/81 Relatively new but well tested. 9. DEVELOPMEN'T METHOD I" How w..1t dovolopodond whlll w..1t __1n7 'J 9. DEVELOPMENT METHOD ('Ho__..It.., ,_ _ _..It__1n7'J Developed with DEC-20 Pascal; now self-compiled. Cogitronics Pascal was written and developed In Cogitronics META complier generation system. 0_ __,., comp/Iwlnthofonnof1In._. to ot_lontlfl_. __ __. _. 10. LIBRARY SUPPORT 0_ __,., comp/Iwlnthofonnof1In~ toot_~. _. _. '/ 10. LIBRARY SUPPORT I"An" 'J ('An" -- linkage is available to externally compiled Pascal modules, externally compiled FORTRAN-77front end available, shared library. Compatible with MICRO language modules, and externally assembled routines. other Microsoft products. 37 Implementation A.porta Implementlllion Raportl .... Intel 8080 (Onacki) Intel 8080 (MT Microsystems) o DATE O. DATE A['ril 20, 1981 AU<:Tust 1, 1981 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR 1. IMPLEMENTORLMAINTAINER/DISTRIBUTOR H1.chael f;. Leh!l'\C\n ~teve lIarrison ~IT rUcroSY~TE"S ()nacki Systep1s 1562 Kings Cross Drive 5161 Colp Street C3rdiff,'CA 920n7 ~an Dieao CA 92117 (714) 755-13(:;(:; (. Any 2. MACHINE I$VSTEM CONFIGURATION Anow"IImiu on the 1:0,,11.1.1,.';0"or ,uppo,' ,ohw.,. ,equlred..... 2 MACHINE/SYSTEM CONFIGURATION I.Any rIt. "lfl..'MIon Of .ohw.,. ,-.III,.d. ..g. ."ow" II""" 0" ~""" op.,.tl". .y"... 8J Radio ~hacles TRS-Rn Microcon!"rit~~';!,"'{ro'd;!l I and '10del III 5(:;k BOBO/ZBO Runs under the TRDO~ operating system CP I"~ re,,!uired 24 by BO CRT 3 DISTRIBUTION (. Who 10.slt. how it com.,. in wh.t options. .nd.t wh.t price. (. pm.. .} -J 3 DISTRIBUTION Whoto .sll. how it com... in wh., option,. MttI., ""It., Available From Onacki systems From ~IT HicroSY~TI:M~, on floppy diskettes, $475 (suqqested retail) Cost: $239 (discounts available on volune orders, write for information) (no options] includes screen pditor w/ proqran proofreader Distributed on 5.25 inch diskette (checks syntax, spelling, reformats, etc.) Please specify '~o<1el I or '10del III micro"oMputer 4 DOCUMENTATION (.Wh..i...MI.bl..ndwh / 4. DOCUMENTATION t. Wh.. i. .vMI.bt. .nd wh... ./ User r.1anual" whi"h is included with purchas!>, describes how to use 1B5 page User.s Guide supplied with Systf!M the conpiler and the points ot' difference 1~ith I~O DP195.1 DP7185.1 Pascal 5 JA'iM'E~ P9.'irsuni;!ilnT.in 1>.11 questions or comments will be answered by Onacki ~ystems. Fully maintained by 'IT HicroSY~Tr.'1S The nrinci~le restrictions from ISO DP7185.1 ISO Standard with extensions: Dynamic Strings, Modular COMpilation *Procedural, Functional and Conformant-array parameters are not Bit/Byte Manipulation, I/O port access, 1nline assembly code iMn lenen ted *The aoto statement is not iM!"lementoc! *Files have been (sliqhtly) chanaed to work with TRDO~ operateinq systen MEASUREMENTS t. OfiI. .p..d .p.c. ./ .p.c. .1 0' 7. MEASUREMENTS f. Of il. .p..d 0' Extremely comn1\ct object code forMat. For example: the cOM~iler is less 15nk bytes of disk space flonnies than Bk bytes 40n lines/r1inute on 4 I.Ulz ZBn with B" 8 RELIABILITY Any ,,,form.'ion .bout fi.ld un or .it.s in,f.lI"d -) (. Any inlo,mationabout li.ld u,. ,it.. in.t","1/ .} (- 8. RELIABILITY 0' An earlier version of this con~iler has been in use for 2.5 years Ilore than 1000 field sil:es installed 9 DEVELOPMENT METHOD (.How w.s it d.'II./op.d ."d wh.t w.s it w,irt." in'.} Conpiler is written in Pascal and was written ann is maintained on a TRS-80 1.10del I cOMputer with o LIBRARY SUPPORT ,- Any oth., support oll;n/(.g.. to oth., I.ngu.g... .} (e Any oth., support/o, compll., in th. 10,," o/lin" to ot"-, langua,... IOfHC. NIH.n... .,C. .} 10' comp".,in th. 10'," 'OU'C. lib,.,i... .tc. 10 LIBRARY SUPPORT Addi tional r!eclaren nrocedures and functions allow acce"s to the TR~- 80. s Larqe suhroutine library of portable and Machine dcnendent procprlures araphics, rannoM number generator, etc.. a~ well as access to machine (more than 1nn routines) lanquage routines Implemenlallon Reports 39 38 Implementation Reports Mostek 6502 (Abacus) f Motorola 6809 (OmegaSoft) O. DATE January 2, 1981 O. DATE 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR (' Giv. . PMlon. MIl ",...,.. """"..,. ') I 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR GiY. . p.,'o~. ""_., _II phon. numb.,. Abacus Software I' 'I P.O. Box 7211 OmegaSoft Grand Rapids, Michi~an 49510 P. O. Box 70265 I Sunnyvale, CA 94006 2. MACHINE/SYSTEM CONFIGURATION An. on tltoeo~/ill"'otIotJO,"u_'ohw.,.,,,,,";,.II. ..11. ."0"""_' 2. MACHINE/SYSTEM CONFIGURATION " op.,.ting .,.,.",. -} I" A"y /mow" Nmit. on thoco,"""",otlotJ0,"_ ..hw...... ,,_. ..11. t APPLE II,APPLE 11+ with DOS _,ot/..,.,.",.,) 11otorola 6809 compiler PET/CBM New ROMS l6K/32K cassette or diskette ~mos version: ~1DOS09 03.00 8K RAIl for operating system plus 24K or more at $2000 for cOMpiler, 2 or more disk drives, at least one drive caoable of reading a sinqle-sided disk in the standard ~DOS format FLEX version: 6809 FLEX V3.0, 8K RAM for operatin~ system plus 24K 3. DISTRIBUTION (' Wltoto NIt. how It _.. lit whot option.. MIl ot whotprloo. or more at $0 for compiler, 2 or more disk drives, at least one capable APPLE II/APPLE 11+ standard TINY Pascal 35. diskette of. reading an 8 or 5.25 inch sinqle-density, single-sided, soft-see- APPLE II/APPLE 11+ ~raphics TINY Pascal PLUS : 50. diskf'tte tored disk in the standard FLEX format PET l6K/32K standard TINY Pascal $40 cassette PET l6K/32K standard TINY Pascal $35. diskf'tte Other formats: contact omegagoft for availahility PET 32K graphics TINY Pascal PLUS+ $55. cassette PET 32K graphics TINY Pascal PLUS+ $50. diskette (. __., wit., ",;ce. -, 3. DISTRIBUTION Who IDed. how,t come.. in wh., ""rio".. 4. DOCUMENTATION (' WIt.tl.."oIiobIoMIl wh.,.. ') Available from Omeqagoft TINY Pascal User's Manual $10. refundable with order Cost $200 with run-time library object of software $250 with run-time library and source 5. MAINTENANCE I" I. It _moiIttlliltod. IuIJy moiIttlliltod. .tel') Includes compiler, assembler, loadp.r and debugger in obiect fOrM. Manual Will correct any problems found by users. utilities in object code and Pascal source, and user 6. STANDARD,. How ...It _au,. lIPto.,__ P..coIll.lt. ..,b..tl E.tMdedl How.') 4. DOCUMENTATION Wh.ti, ...iI.bl. .nd ""h.,.. '1 " User manual, included with purchase, available seperately for $20 Subset implementation with p.raphics extensions for PET and APPLE II. 7. MEASUREMENTS Oflto__.,_. (has HEX, STRING types: only textfilesf oriqined variables, EXTCR~AL I" ') procedures: OTHr:R~nSE/ELgE in case statements, no non-local nota's: '... power operater: string concatenation, and, or, not on numbers) (May be one of the More complete implemantationsof rascal for micros) 8. RELIABILITY Any Hour _"..., 8It..I".,_. ') I" 1 MEASUREMENTS 01 its sp..11 0' SP'C' '1 Cver 200 users of TINY Pascal. " TINY Pascal PLUS+ just released. 9. DEVELOPMENT METHOD I"Howw..1t dovolopod_ whotw..1t w_" IItl') BASIC and 6502 Assembly langua~e 9. DEVELOPMENT METHOD Ie How INiI.ir delle/oplld end wit. w.. it written in'-/ 10. LIBRARY SUPPORT ,., I"A"yoth... littho_ of/In"-. to or"., 1IIIt/lll_'.__ IIIH_.. .re. ') --' -"'" Not required Additional predeclared procedures and functions for strings, files 40 Implementation Aeports Implementation Report. 41 8. Texas Inst. 990 (TI) 2ilo~ 2-80 (Ithaca) O. Release 1.7, Auqust 1'181 DATE o. DATE May 12, 1981 IMPLEMENTOR/MAINTAINER/DISTRIBUTOR Giv. . p...on. I' .dd.." .nd phon. numb.,. '} 1. IMPLEMENTOR/MAINTAINER/DISTRIBUTOR(" Q",. . ,...". _.. _ ,,- ,,_. '1 Imolementerl by Texas Instruments. Information is available from Ithaca Intersystems, Inc. PASCAL/Z TI sales offices, or \~rit~ to: 1650 Hanshaw Road Texas Instrurn~nts, Diqital Systems Group, '1"784, p. O. Rox 1444, P.O. Box 91 Houston, Texas 77()01 or call (512) 251'1-7305. Ithaca, New York 14850 Problems should be rerorted to: Texas Instruments, ~o~tware Sustaininq, '152188, P.O. Rox 290~, Austin, Texas 78769 or call (512) 25/'1-74'17. 2 MACHINE/SYSTEM CONFIGURATION (. An~ known on th. conliguT.fion suppo,t .oft.,.,. '.quIT.d, .... 2. MACHINE/SYSTEM CONFIGURATION (.A"" "IM ",_..Irw___..... lim'" 0' comriler runs on The '1'19'10/11'1ri'P"'f\Vf),,'r''';{.,mputerund('!r the OX1 I')or Z-80 system with minimum of 56K me~~i~~d~ng the CP/M operating gystemJ o'ins o!,er<'ltinq system " ('1'105'1'10 system 'lode I 4 or l<'lrqer, with , <'It least and one disk drive. '12K bvtes of memorv). The cOMpiled and li~l:er1 ohj('!ct procrrams c<'lnbe executed on (64K and two disk drives recommended for serious program development) an" menber 01' the '1'10cOMPuter f11lT1ily(1"5<1'1/'1or OS990 system) usino th':! '1'X5. TX<1'10, D;{1 I), or D'IOS onerati"q system. (. 3 DISTRIBUTION Who to .s', how it com.s. in wh., options. .nd.t wh.t .J P"", 3. DISTRIBUTION('W1totouIt._ ft_..In _., _"".. '1 Available on Macrnetic taoes, disl: ""Cl:, or r1iskettes. Contact" Package includesobjectcode for Pascal/Zcompiler,ASMBLE/Zmacro-assembler, T1 salesMan for a "rice quotation anet Further netails. LINK/Z linker/loader and SWAT, our interactive symbolic debugger. The 4. DOCUMENTATION I' Wh.,I, ...iI.bl. .nd wh.,.. ') libraries are provided in both object and commented source code (Z-80). T'1e TI p<'lscal lanquaae is speci fie,] i.n the T1 Pnscal ~I'!fE'rence "l\nulIl Also included are a number of support and example files and programs, and documentation. TI part number 2271'151'1-<1701.Instruction!'! for usincr the compiler Available on CP/M compatible diskettes from the distributor--contact <'Inrl 8" Jinkinq and executino Pascal oroarams are oiven in the "DX10 '1'1nl\sc<'ll Intersystemsfor informationon obtaining other formats. rroor<\:"1/11ers Guide", part nUT1h~r 2271152[1-1)7111 anu the' 'D:IOS TI U:S.{Dom)retail price: $395.00 rascal Proqra~p.rs r.uine", oart number 22711517-'171')1. 5. MAINTENANC E (." it unmeinr.ined. fully m8i"t.in.d, .te' 8} 4. DOCUMENTATION("W/lot, _ _. '1 T1 Pa~c~l is n full su~ported product. nua renorts are welconed and Over 300 pages of documentation, including: the Pascal/Z Implementation Manual, maintenance and furt~er develonmentswork ar~ in proore~s. ASMBLE/Z, LINK/Zand SWAT manualsand.theJensen & Wirth USER MANUALAND REPORT. 6. MAINTENANCE ("I. ft_t_. ftIIIy_t_. _1'1 Updatesapproximatelyevery threemonths,availablefor a nominalchargeto TI Pascal has sone di~fer~nces from standard Pascal. The Major differences registeredusers. are: * A aote> cannot be used to ;U1'10out of a nrocerlure * The control variahl~ of a'rOR statement is local to the loop. 8. STANDARD ("How".ftm_upto__,.ft._,E_How.'J * The precenance of noolean operators has been Modi~ien to hp. Closely follows Jensen & Wirth definition. Exceptions. No GET/PUT (our READ/WRITE t~e s~ne as in Alool and PORTnA~ routines have been expanded to handle all I/O functions), no PAGE, no procedural ~he stanrl"r'] nrocerlurm; r.r.T anrl T>UT have he en replacf'rl by * parameters. Extensions: Direct File Access, Variable length strings, EXTERNAL qenerl\llizeJREAD <'Ind '''RITE nroce(!ure~. routines, separate compilation, INCLUDE files, variant records implemented, TI Pascal has nanv extensions to stanrlard ra~cal inclurlino randOM ELSE on the CASE statement. access files, dyni\l1\icarravs, ESCAPE and ASSERT state!'1ents, ontional OTHERI-1ISE clause on CASr; statements, and ':ormatted R"=Af). 7. MEASOREME NTS ill ,pood 7. MEA8UREMENTS (" Of I' 0' 0' 'p.c.. '} Its __ 01_. '1 The conpiler occu~ies a 64K hvte nemorv reaion. Running the Erasthones sieve on page 54 of the USER MANUAL AND REPORT (with a 8. RELIABILITY'. Any ;nfO/m.f;on.bout fi.ld us. 01,it., i"".,,.d. .} WRITE statement added to display) 6K COM file ran in 45.85 seconds, much better T~c systen h liS been use,] by several (11~ferent