Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen...

129
I ." ." .,. "'", TECHNISCHE HOGESCHOOL AFDELING DER ELEKTROTECnNIEK VAKGROEP ES HET BEtvERKEN VAN DE DITVOER VAN EEN LOGISCHE SIMULATOR G.L.J.M. Janssen Verslag van een afstudeeronderzoek verricht in het Natuurkundig Laboratorium, N.V. Philips o.l.v. M.C. van Lier en R.H.J.M. Otten februari 1981

Transcript of Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen...

Page 1: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

I .".~

." ~ .,. "'",

TECHNISCHE HOGESCHOOL EI~~HOVEN

AFDELING DER ELEKTROTECnNIEK

VAKGROEP ES

HET BEtvERKEN VAN DE

DITVOER

VAN EEN LOGISCHE SIMULATOR

G.L.J.M. Janssen

Verslag van een afstudeeronderzoek

verricht in het Natuurkundig Laboratorium, N.V. Philips

o.l.v. M.C. van Lier en R.H.J.M. Otten

februari 1981

Page 2: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

EINDHOVEN UNIVERSITY OF TECHNOLOGY

TIT L E

A LOGIC SIMULATOR-OUTPUT PROCESSOR

MASTER THESIS,

8'1' G.L.J.M. JANSSEN

FESRUARY 1981

Page 3: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

SUM MAR V

A LOGIC SIMULATOR PROGRAM PRODUCES LARGE LISTS UF SIGNAL­VALUES AS OUTPUT DATA. TO FACILITATE THE INTERPRETATION OFTHIS HUGE MASS OF DATA A "SIMULATOR-OUTPUT PROCESSOR" ISDESIGNED.

TO EXPRESS THE SPECIFIC PROCESSING ACTIONS TO BE PERFORMED,A SPECIAL-PURPIISE INPUT LANGUAGE HAS BEEN DESIGNED.

THIS REPORT D~FINES THE INPUT LANGUAGE AND DESCRIBES THE'IMPLEMENTATION OF THE OUTPUT-PROCESSOR.

Page 4: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

CON TEN T S :

SUMI'1ARY

CHAPTER:

1. INTRODUCTION2. CONCEPT OF THE PROCESSOR

2.1 SPECIFICATION UF THE PROCESSING ACTIONS2.1.1 DATA CONVERSION2.1.2 MORE COMPLEX P~OCESSING ACTIONS

2.2 THE OPL H<.JPUT LANGUAGE2.2.1 CONSTRUCTS TO EXPRESS 04TA CONVERSION2.2.2 CONSTRUCTS TO EXPRESS CAUSES AND INVOKED ACTIONS

3. A TKANSLATOR PROGRAM FOR OPL3.1 THE SCANNER3.2 THE PARSER3.3 THE SEMANTIC ASPECTS

3.3.1 ATTRIBUTES OF CONSTANTS3.3.2 ATTRIBUTES OF IDENTIFIERS3.3.3 THE IDENTIFIER TAdLE3.3.~ ATTRIBUTES OF EXPRESSIONS

3.4 CODE GENERATION3.4.1 CODE GENERATION STRATEGY3.~.2 CODE GENERATION ATTRIBUTES3.4.3 THE INSTRUCTION SET3.4.4 CODE GENERATION DIAGRAMS

4. INCORPORATING ERROR RECOVERY INTO THE TRANSLATOR4.1 KINO OF ERRORS4.2 REQUIREMENTS FOR THE HANDLING OF ERRORS4.3 MEANS OF SYNTACTIC ERROR RECOVERY4.4 THE GL08AL SyNTACTIC ER~OR RECOVERY STRATEGy4.5 SEMAN~IC ERRORS4.6 ERqOR REPORTING

5. THE OPL-CODE PROCESSOR5.1 PROCESSING P~OCEDURES

5.2 THE INTERPRETERb. FUTURE DEVELOPMENTS

A P PEN 0 ICE S

--------------~~---

A. FIGURESB. LIST OF REFERENCESC. LIST OF INTERPRETER INSTRUCTIONSD. SYNTAX DIAGRAMSE. OPL USER MANUAL

Page 5: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

-- 1 -

1. INTRODUCTION

A FREQUENTLY USED CAD-TOOL IN AN ENVIRONMENT OF DESIGNING DIGITALCI~CUITS IS A LOGIC SIMULAT0R PROGRAM. BASICALLY THIS PRUGRAMSIMULATES THE BEHAVIOUR OF A DIGITAL CIRCUIT CONSISTING OF GATES,FLIP-FLOPS, MEMORIES ANO OTHER STANDARO OR EVEN USER-OEFINED BUIL­DING aqICKS. AS A RESPONSE TO CERTAIN DESCRIBED STI~ULI, IT WILLPR[)L,)UCE OUTPUT TABLES, THAT SHOW THE VALUES OF SOME OF THE NEHJOt<KSIGNALS AS A FUNCTION UF THE SIMULATION TIMESLOTS.

CHECKING THE BEHAVIOUR OF THE SIMULATED NETWORK BY INTERPRETINGSEVERAL PAGES OF SIi>1ULATION OUTPUT wITH DENSE COLUMNS OF CHARACTERSTHAT REPRESENT THE SIGNALVALUES (E.G. ~u· AND K1" ), CAN dE A VERYTI:.OIOUS JOB.

~Y MAKING A "LOGIC-SIMULATOR-OUTPUT P~OCESSING SYSTEMK IT MIGHTBECOM~ POSSIBLE TO RELIEVE THE DESIGNER UF AN UNPLEASANT JOB. ALSUTHE NUMdER OF UNDETECTED ERRORS MIGHT BE DECREASED COMPARED TOINTERPRETING TH~ Sr~ULATION OUTPUT ~HOLLY BY HAND.

IN THIS REPORT A PROPOSAL TO THE SOLUTION OF THE FULLOWINGPROBLEM ~ILL dE DESCRIBED:

OESIGN A SOFTWARE TOOL THAT PERFORMS SOME PROCESSING UPON THEOUTPUT DATA OF A LOGIC SIMULATUR, SUCH THAT THE RESULTING OUTPUTNEEDS LESS TIME TO BE INTERPRETED BY THE DESIGNE~, aECAUSE THEAMOUNT OF DATA IS SMALLER AND IS PRESENTED IN A r10RE READABLE FORM.

FROM THIS GLOtiAL PR08LEM DEFINITION WE CAN DERIVE A NUMBER UFSUB-PROBLEMS:

1. WHAT SET OF PROCESSING ACTIONS UPON THE SIMULATION DATA CANMEET THE AIM?

2. HOW CAN THE USER SPECIFY THE PROCESSING ACTIONS HE WANTS?AN ADEQUATE INPUT LANGUAGE rlAS TO BE DESIGNED TO CONTROL THEPROCESSOR.

3. THE IMPLEMENTATION OF THE OUTPUT PROCESSING SYSTEM IN ASUITABLE PROGRAMMING LANGUAGE.

THE NEXT CHAPTERS DESCRIBE THE ABOVE MENTIONED SUB-PRUBLEMS ~10RE

IN DETAIL AND WILL INDICATE THE CHOSEN SOLUTIONS AND THEIR JUSTIFI­CATION.

BI3LIOGRAPHICAL NOTES:~~-----~------------~

TO MAKE ACQIJAINTANCE wITH THE FIELD OF LOGIC SIMULATION, REFERENCES8, 9, 12, 13, 15, 1b, 17, 20, 21, 33, 36, 38, AND 44NERE READ.THEY ALSO SERVEO TO GET AN IDEA OF:

- THE MAN-MACHINE INTERFACES THAT ARE COMMONLY USED.- THE LOGIC SIMULATOR OUTPUT CAPABILITIES.- THE METHOD OF DESIGNING LARGE SOFTWARE SYSTEMS.

Page 6: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

•. 2 -

2. THE CONCE~T OF THE P~OCESSOR_.....- _._.__......-_._....~..----''-'---'-'"--- .._.-..

TO UES I GN A LARGE SO F T'tJ ARE TO ULIT I S NAT URALL Y TO UStAT 0 P·-0 0 IN 1'-1DESIGN METHOOULuGY. THE N~XT PICTURE GIVES A ROUGH DRAFT OF THEINITIAL SET-liP OF THE SYSTEM:

/ INPUTCONTROLPRlJGRAt·l

, .

II SH1ULATOrl P R 0 C E 5 S 0 R PRUCESSUR",OUTPUT , , OUTPUT

\ P R 0 G R A M

--

THE PROCESSOR WILL UPERATE UPON A SEQU~NTIAL FILE THAT CONTAINSTHE SIMULATOR OUTPUT DATA IN SOME COMPRESSED FORM. TO INFORM THEPROCESSOR OF THE SPECIFIC PROCESSING ACTIONS TO BE PERFORMED, THE USERSUPPLIES A PROGRAM I~ "OPL". OPL STANDS FOR "OUTPUT PROCESSINGLANGUAGE". IN PRINCIPAL THE PROCESSING RESULTS WILL BE SENT TO A LINE­PRINTER.

THE ~EXT STEP IN OUR TOP-DOWN DESIGN CONSISTS OF SPECIFYING A SETOF APPROPRIATE PROCESSING ACTIONS.

2.1 SPECIFICATION OF THE PROCESSING ACTIONS....._-- .._~--- ..----~ ..-~------~--~- .. _.._~--

BESIDES SOME FORMATTING STATEMENTS, IT SHOULD BE POSSIBLE TOEXPRESS:

- C0 f\j VERS I 01-1 0 F " VEe TOR S" 0 FLU GI CAL S I GNALS Ta 1'-10 r< E " LEG I BLE"DATA TYPES (INTEGER NUMBERS, TEXT STRINGS)

- MO~E COMPLEX PROCESSING ACTIONS, E.G. TESTS AND OPERATIONS ONVALUES OF SIGNALS, THAT HAVE TO BE PE~FORMED WHEN CERTAIN "CAUSES"OCClJl1.

Page 7: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 3 -

2~1.1 DATA CONVERSION~-- ..._,--_._-~~- --_.,..

UP TILL NOW SIMULATOR PROGRAMS OFFER VE~Y FEw OPTIONS CONCERNINGTHE REPRESENTATION OF THE LOGICAL SIGNALVALtJES. T\~O PRINT FORMS ARECOMf.1ONL Y USED:

- THE LOGICAL VALUES ARE REPRESENTED 8Y A CHARACTER, E.G.o FOR THE FALSE STATE, AND 1 FUR THE TRUE STATE.

- THE OAf A IS REPRESENTED AS ~AVEFORMS SIMULAR TO THE REPRESENTA­TION ON THE SCREEN OF A LOGIC ANALYSER.

A FIRST APPROACH TO ENLARGE THE SIMULATOR OUTPUT DATA REPRESEN­SENTATION CAPA8ILITIES, IS TO INCORPORAre CONVERSION "ROUTINES" INTOTHE SIMULATOR PROGRAM. THESE CONVERSION ROUTINES CREATE THE POSSI~ILITY

TO OBTAIN E.~. OCTAL, HEXADECIMAL AND INTEGER OUTPUT DATA REPRESEN­TATIONS, BY CONVERTING GROUPS OF LOGICAL SIGNALS. CONVERSION OF DATAIN THIS ~AY HAS THE ADVANTAGE THAT,

1. IT BECOMES EASIER TO READ AND CHECK THE DATA. IF ~E HAVE SIMULATEDA COUNTER FOR INSTANCE, THEN THE CORRECT COUNTING SEQUENCE 8E­COMES MORE APPARENT IF WE DISPLAY THE CONTENTS OF THE COUNTER~Y AN INTEGER VALUE RATHER THAN A GROUP OF ZEROES AND ONES.

2. IT REDUCES THE SPACE NEEDED TO PRINT THE VALUES OF THE SIGNALSON THE PAPER. THE INFORMATION DENSITY INCREASES 'BY A LARGE FACTOR.

THE NEXT SAMPLE OUTPUT TABLES INOEEO SHOW THESE ADVANTAGES.THE FIRST ONE IS TYPICAL FOR AVAILABLE SIMULATOR PROGRAMS, THE SECONDONE IS THE RESULT AFTER PERFORMING CONVERSIONS UPON THE GROUP AO •• AlAND ASCrO •• ASCIS.

CLo

AAA C012 B K

AAAAAASSSSSSCCCCCCIIIIII012345

~------------------------------------------------------------011 1 0 011000010 l) 1 011001001 0 0 011010000 0 1 101011

C AL Sa C

A C I* 8 K 1t

-------------------------------------------------------------3 lOX2 0 1 Y1 0 0 zo 0 1 :s

Page 8: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 4 -,

2~1.2 MORE COMPLEX PROCESSING ACTIONS...-_......._..........._-~----_......_--...-_._.~_ ....------~THE ELECTRONIC DESIGNER USES THE SIMULATION OUTPUT TABLES TO

CHECK THE BEHAVIOUR OF THE DIGITAL CIRCUIT. HIS CHECKLIST MIGHTCONTAIN THE FOLLOWING ITEMS:

- DO CERTAIN VALUE TRANSITIONS OF ONE OR MORE SIGNALS OCCURAT THE PREDICTED TIMESLOTS ?

- DOES THE CHANGE OF A CERTAIN SIGNALVALUE HAVE THE CORRECTCONSEQUENCES ?

- IS A COUNTER-CIRCUIT INDEED COUNTING PROPERLY?- 00£5 AN ARITHMETIC/LOGIC UNIT PERFORM ITS DEFINED OPERATIONS

CORRECTLY?- SOME STATISTIC INFORMATION, LIKE HOW MANY TIMES DID A

SIGNAL CHANGE VALUE ?- DO PARTS OF THE NETWORK COMMUNICATE ACCORDING THE CORRECT

PROTOCOL ?- IS THE TOTAL DELAY BETWEEN THE CHANGE OF AN INPUT VALUE UNTIL

THE CHANGE OF SOME RELATED OUTPUT VALUE WITHIN TrlE EXPECTEDLHHTS ?

IT wILL BE OBVIOUS FROM THE ABOVE CHECKLIST, THAT wE NEED A LANGUAGECONSTRUCT TO EXPRESS A "CAUSE" AND THE "ACTIONS" TO BE PERFORMEDUPON ENCOUNTERING THAT CAUSE. A CAUSE DESCRIBES CHANGES OF THEVALUES OF ONE OR MORE SIGNALS AT CERTAIN TIMESLOTS.THE ACTIONS CAN BE PRINTING SOME COMMENTARY TEXT, CHECKING THE STATEOF SOME SIGNALS, REPORTING SOME STATISTICS ETC.

2.2 THE INPUT LANGUAGE

THE USER OF THE OUTPUT PROCESSOR EXPRESSES THE PROCESSING HEWISHES TO BE PEHFORMED UPON THE SIMULATION DATA 8Y MEANS OF APROGRAM IN THE "UUTPUT PROCESSING LANGUAGE".

I I\l GENE RAL A FOR ~-1 AL ( COM PUT ER) LAN GUAGE C0 ~I SIS TS 0F A SET 0FTERMINAL SYMBOLS, THE VOCABULARY, AND A SET OF RULES THAT DESCRIBE HOWTO CONSTRUCT A VALID PROGRAM. THE RULES DEFINE THE SYNTAX AND THESEMANTICS OF THE LANGUAGE. THE SYNTAX RULES DESCRIBE HOW A SEQUENCEOF SYMBOLS CAN BE PUT TOGETHER TO FORM A CORRECTLY STRUCTURED SEN­TENCE. THE SEMANTIC RULES DESCRIBE THE MEANING OF A SENTENCE ANQ IM­POSE CERTAIN CONSTRAINTS ON THE SYNTAX RULES.

THE SET OF TERMINAL SYMBULS CONSISTS OF SPECIAL SYMBULS, KEYWORDSINCLUDED, CONSTANTS AND IDENTIFIERS. A SEQUENCE OF TERMIi\lAL SyMBOLSTHAT wILL BE DENOTED BY A SPECIAL NAME, FOR~S A SO CALLED i\lON-TER~I­

NAL SYMBOL.

A DETAILED DESCRIPTION OF THE INPUT LANGUAGE WILL NOT BE GIVENIN THIS CHAPTER, BUT CAN BE FOUNO IN APPENDIX E: THE QPL USER MANUAL.

THE INPUT LANGUAGE IS FOR~AT-FREE. THIS MEANS THAT THE SYMBOLSOF A LINE UF PRUGRAM TEXT DO NOT HAVE TO 8E PUT ON CERTAIN COLUMNPOSITIONS. CARE HAS BEEN TAKEN THAT THE LANGUAGE CONSTRUCTS HAVE~EANINGFUL KEYWORDS, I.E. THE KEYwORDS A~E AN INDICATIUN OF THESEMANTICS OF THE CONSTRUCT.

Page 9: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- s -

THE SYNTAX OF THE INPUT LANGUAGE CAN FORMALLY BE DESCRIBED BYA SO CALLED META-LANGUAGE OR 8Y DRAWING SYNTAX DIA~RAMS. IN THISREPORT EXAMPLES OF SYNTACTICAL CONSTRUCTS wILL 8E DESCRIBED IN AEXTE~OEO "BNF" NUTATION. BNF STANDS FOR BACKUS-NAUR-FORM. IT ISTHE META-LANGUAGE USED BY BACKUS AND NAUR TO DEFI~E THE SYNTAXOF ALGOL 60. THE EXTE~SrON CONSISTS OF THE POSSIBILITY TO INDICATEREPETITION.THE OPL USER MANUAL DEFINES THE SYNTAX OF THE INPUT LANGUAGE USINGSYNTAX DIAGRAMS.

THE META-SYMBOLS USED TO EXPRESS THE SYNTAX OF THE INPUTLANGUAGE ARE ::= < > ? AND HAVE THE FOLLOwING MEANING:

- A NON-TERMINAL SYMBOL, I.E. A NAME INDICATING A LANGUAGECONSTRUCT, IS WRITTEN BET~EEN THE ANGULAR BRACKETS < AND >.

- THE EXCLAMATION MARK "1" INDICATES ALTERNATIVE CONSTRUCTS,OUT OF WHICH ONE MUST ~E CHOSEN.

- THE SY~AOL <EMPTY> DENOTES THE NULL SEQUENCE OF SYMBOLS.- REPEPITION IS DENOTED BY QUESTION MARKS, E.G. ? A ? STANDS

FOR ZERO OR MORE TIMES "A".- ::= IS THE DEFINITION SYMBOL.

TERMINAL SYMBOLS ARE WRITTEN IN THE WAY THEY ARE DEFINED, E.G.A SEMICOLUN IS WRITTEN AS ; •

THE FOLLO~ING PARAGRAPHS SERVE TO GIVE AN OVERVIEw OF THE MAINFEATURES UF SUME OF THE LANGUAGE CONSTRUCTS. DETAILS ABOUT THE SYNTAXAND SEMANTICS OF THESE CONSTRUCTS ARE DESCRIBED IN THE MANUAL.

2.2.1 CONSTRUCTS TO EXPRESS DATA CONVERSION-~--~,~~-~--~-,_._~~-~-~-------~_.~-.~--~

A NUMBER OF SYMbOLS CAN BE GROUPED TOGETHER BY APPLYING THECATENATION OPERATOR "&". THIS GROUP OF SIGNALS CAN BE IDENTI­FIED BY A NAME. AS AN FXAMPLE, LET US CATENATE THE SIGNALSAO, Al, AND A2, AND REFER TO THEM WITH THE NAME "A":

A := AO & Al & A2

IF WE LIKE TO CONVERT THE VALUE OF "A" TO AN INTEGER NUMBER, WECAN APPLY THE STANDARD "ENCODE" FUNCTION:

ENCOUECA)

IF WE NEED SPECIAL CONVERSIONS TO BE PERFORMEu, IT IS POSSIBLE TODEFINE A CONVERSION TABLE. A TABLE REFERENCE CAN BE MADE IN THESAME WAY AS A FUNCTION CALL, E.G. WE CONVERT A GROUP OF SIGNALSREFERRED TO AS "BYTE" TO A CHARACTER, APPLYING THE TABLE "ASCI":

ASCICdYTE)

2.2.2 CONSTRUCTS TO EXPRESS CAUSES AND INVOKED ACTIuNS------------------------------------------------

TO STATE THAT AT EVERY TIMESLOT A VARIABLE MUST GET A CORRECTLYUPDATED VALUE, ~HICH IS DESCRIBED BY AN EXPRESSI8N POSSIBLE CONTAI~I­

ING SIGNALS AS OPERANDS, A "PERMANENT ASSIGNMENT" CAN 6E DEFINED.

Page 10: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 6 -

A KPE~MANENT VARI~8LE" CAN BE THOUGHT OF AS A SIGNAL OF A USER-DEFINEDDATA TYPE.

EXAMPLES:

1) DEFINE INTA~; ENCOOE( AO & A1 ~ A2 )

AT EVERY TIMESLOT THE INTEGER VARIABLE ·INTA" MUST GET AN INTEGERVALUE DETEHMINED BY ENCODING THE GROUP OF LOGICAL SIGNALS AO.~A2.

2) DEFINE CH:: ASCI(8YTE)

THE PERMANENT VARIABLE "CH" OF DATA TYPE KCHAR", MUST AT EACHTIMESLOT GtT A VALUE nETERMINED ~Y THE CONVERSION OF THE VECTOR"BYTE" ACCORDING TO THE TABLE "ASCI K•

A DESCRIPTION OF THE PROCESSING AND THE TIMESLOTS AT ~HICH THISPROCESSING HAS TO BE EFFECTUATED CAN 8E EXPLICITLY EXPRESSED BY THE"DU~ING" STATEMENT:

<DURING STATEMENT> :::

DURING <TIME INTERVAL SPECIFICATION> DO <PROCESS BLOCK>

<PROCESS BLOCK> ::= <ON STATEMENT> 1BEGIN <ON STATEME~T> ? ; <ON STATEMENT> ? END

THE PROCESS BLOCK CONSISTS OF ONE OR MORE "ONK STATEMENTS. AN KON"STATEMENT EXPRESSES THAT CERTAIN ACTIONS SHOULD AE PERFORMED EVERYTIME THE SPECIFIED CAUSE OCCURS:

<ON STATEMENT> ::= ON <CAUSE> DO <ACTION STATEMENT>

MANY PASCAL STATEMENTS CAN BE USED AS AN ACTION STATEMENT.

ALL STATEMENTS WILL BE EXECUTED IN A SEQUENTIAL ~AY 1

EXAMPLE:

DURING PERIOD 1 UNTIL 100 DOREGIN

ON TRANSITION AD FROM 0 TO 1 00~EGIN 1* HERE BEGINS A COMPOUND ACTION STATEMENT *1

PRINTLN('CHANGE OF AO UETECTED')iTIMEOFCHANGE:=SIMTIME;CHANGES:=CHANGES + 1;IF CHANGES> 10 THEN

PRINTLN('MQRE THEN 10 TIMES CHANGED ill')END;

Page 11: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 7 -

ON TRANSITION CH 00BEGIN

DELAY:: SIMTIME - TIMEOFCHANGE 1* OF AO -I;IF DELAY > 5 THEN

PRINTLN('WARNING: DELAY = ',DELAY)END

ENO

MEANING THAT WITHIN THE SCOPE OF THE FIRST 100 TIMESLOTS THETWU ON-STATEMENTS ARE EXECUTED.THE FIRST ON-STATEMENT STATES THAT,

UPON A TRANSITION OF THE VALUE OF SIGNAL AO FROM STATE 0 TO 1THE LINE "CHANGE OF AO DETECTED" IS PRINTEO, THE VARIA8LE"TIMEUFCHANGE" IS ASSIGNED THE SIMULATION TIME AT ~HICH THE CHANGEOCCURS, THE VARIABLE "CHANGES" IS INCREMENTED BY 1 AND TESTED~HETHER IT IS GREATER THAN 10, IF SU ANOTHER LINE OF COMMENTARYTEXT WILL dE PRINTED.

THE SECOND ON-STATEMENT STATES THAT,UPON A CHANGE IN THE VALUE OF "CH", THE INTEGER VARIABLE "DELAY"

IS ASSIGNED THE UIFFERENCE IN TIMESLOTS 8ETwEEN THE CURRENT TIME­SLUT AND THE LAST OCCURRENCE OF A POSITIVE EDGE OF THE SIGNAL AO.IF "DELAY" IS TOO BIG THEN A WARNING MESSAGE TOGETHER WITH THEACTUAL VALUE IS PRINTED.

~IBLIOGRAPHICAL NOTES:-----~---~._----------

THE DESIGN OF THE OUTWARD APPEARANCE OF THE I~PUT LANGUAGE HAS MUCHBEEN LED 8Y HIGH LEVEL PROGRAMMING LANGUAGES LIKE ALGOL, REFERE~jCE 29,AND PASCAL, SEE E.G. REF. 24. REF. 32 GAVE SOME IDEAS ABOUT THE NOTATIONOF "VECTORS".

Page 12: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 8 -

3~ A TRANSLATOR FOR THE INPUT LANGUAGE.... ----,...- ....--~ ... ,.......--,..~_.~ ........-_.- ...~'-.,..- ----- ....-.- ----A PROGRAM ~RITTEN IN THE INPUT LANGUAGE WILL BE TRANSLATED INTO

A NUMtiER OF RASIC PROCESSING INSTRUCTIONS (THE CODE) THAT CAN BEEXECUTED dY THE PROCESSOR.

/ INPUTCONTROLPROGRAM

,it

T RAN S L A TOR

I{ SIMULATOto< PRO C E S S 0 R PROCESSOR

OUTPUT , , OUTPUT

\ -THE TRANSLATOR PROGRAM STRONGLY RESEMBLES A COMPILER PROGRAM FOR A

PRO GRAM~H NG LAN GUAGE. I N FACT THE SAM E ~\ ETHO DOL 0GY AS LI SED I NTHEDESIGN OF VARIOUS PASCAL-COMPILERS IS ADOPTED. THE METHOD IS BASEDON THE FOLLOWING CONSIDERATIONS:

- THE TKANSLATOR PROGRAM wILL BE IMPLEMENTED IN A HIGH LEVEL,BLuCK STRUCTURED PROGRAMMING LANGUAGE, THAT ALLOWS THE USEUF RECURSIVE PROCEDURE CALLS.

- A "STEP-WISE REFINEMENT u STRATEGY wILL BE USED THROUGHOUTTHE WHOLE DESIGN TO ACHIEVE AN EFFICIENT, WELL STRUCTUREDPROGRHI.

- THE SYNTAX OF THE SOURCE LANGUAGE, I.E. THE LANGUAGE TO BETRANSLATED, IS FORMALLY DEFINED BY A SET OF (RECURSIVE) SYNTAXCONSTRUCTS (E.G. DIAGRAMS).

- THE SYNTAX CONSTRUCTS WILL BE SYSTEMATICALLY MAPPED ONTOPROGRAMMING CONSTRUCTS OF THE IMPLEMENTATION LANGUAGE,ACCORDING TO A SET OF SIMPLE TRANSLATION RULES.

USING THIS METHODOLOGY, THE TRANSLATOR WILL BE DESIGNED IN THEFOLLOwING P~ASES:

1. A LEXICAL ANALYSER: THE SCANNER2. /I SYNTAX ANALYSER: rHE PARSER3. IMPLEMENTING THE SEMANTIC RULESq. INCORPURATING CODE GENERATION

Page 13: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- q -

THE INCORPORATION OF SOME ERROR HANDLING CONSTRUCTS IN THETRANSLATOR ~ILL BE DESCRIBED IN CHAPTER 4.

PASCAL IS CHOSEN AS THE IMPLEMENTATION LANGUAGE.IN THIS REPO~T A PSEUDO-PASCAL IS USED TO DESCRIBE THE PROGRAM PARTS.

3.1 THE SCANNER

THE MAIN TASK OF THE SCANNER IS TO RECOGNIZE THE TERMINAL SYMBOLSOF THE LANGUAGE FROM THE SOURCE PROGRA~ TEXT, WHICH IS OFFERED TO THESCANNER AS A SEQUENCE OF CHARACTERS. THE SET UF TE~MINAL SYMBOLSCONSISTS OF THE SPECIAL SY~BOLS (INCLUDING THE KEYWORDS), CONSTANTSAND IDENTIFIERS. THEY ARE DEFINED IN CHAPTER 2 OF THE OPL USER MAN~AL.

AS SECONDARY TASKS THE SCANNER SHOULD ALSO TAKE CARE OF:- REMOVING COMMENT STRINGS FROM THE INPUT STREAM.- PRODUCING A SOURCE PROGRAM LISTING.THE SCANNER ~ILL BE IMPLEMENTED AS THE PROCEDURE "GETSYM".

A LINE OF SOIJRCE TEXT IS SCANNED CHARACTER 8Y CHARACTER IN A LEFT­TO-RIGHT ORDER. THE CURRENT CHARACTER IS INDICATED 8Y THE VARIABLEDECLARED AS:

CH : CHAR

ITS VALUE IS REPLACED BY ITS SUCCESSOR WHEN A CALL IS MADE TO:

PROCEDURE GETCH

IN ORDER TO DETERMINE THE CURRENT SYMBOL, INDICATED BY THE VARIABLE

SYM : SYM80L

~HERE "SYMBOL" IS AN ENUMERATED TYPE, CONSISTING OF CONSTANTIDENTIFIERS THAT DESCRIBE THE BASIC SYM~OLS,

SYMBOL = (ALLSYM, ARRAYSYM, BEGINSYM, COMMA, SEMICOLON •••

MORE INFORMATION A~OUT THE CURRENT SYMBOL WILL BE RETURNED 8Y THESCANNER BY ASSIGNING PROPER VALUES TO THE FOLLOWING GLOBAL VARIA8LES:

HOP" INDICATES THE SPECIFIC OPERATOR SYMBOL,

"ID" CUNTAINS THE NAME OF AN IDENTIFIER OR A KEywORD,

"VAL" DESCRIBES THE VALUE OF A CONSTANT.

THE ANALYSIS OF THE CURRENT CHARACTER WILL 8E DONE IN A CASE-STATE­M~NT. THE BASIC STRUCTURE OF THE SCANNER WILL LOOK LIKE:

Page 14: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

-·10 _.

PROCEDURE GEfSYM;

PROCEDURE GeTCH;BEGINEND; (* GETCH *)

BEGIN (* GEfSYM *)GETCH;CASE CH OF

, A' , , B" •• " Z' : (* SYM80 L WILL 8E IDE NTI FIE R 0R A KEY W0 RD*") ;

'0','1', •• ,'g' (* SYfY'BOL ....JILL BE INTEGER NUMBER *.);

"" : (* SYM80L WILL BE A CHARACTER CONSTANT ORA VECTOR CONSTANT *);

':' (* SYMijOL ~ILL BE COLON OR THE ASSIGNMENT SYMBOL := *);

'.' : (* SYMBOL WILL BE PERIOD OR SU8RANGE SYMBOL *);•••

',' : SYM := COMMA;'=' : SYM := RELOP (* RELATIONAL OPERATOR *);• (' : SYM := L8RACK (* LEFT BRACKET *-);

END (- CASE .)ENO; (- GEfSYM *)

OETAILS ON THE IMPLEMENTATION OF THE SCANNER WILL NOT BE DISCUSSEDHERE. THEY SHOULD BECOME CLEAR WHILE READING THE TRANSLATOR PROGRAMLISTING.

3.2 THE PARSER

PARSING CAN 8E DEFINED AS THE PROCESS OF RECONSTRUCTING A DERI­VATION OF A SENTENCE IN THE LANGUAGE, GIVEN THE SYNTAX OF THATLANGUAGE.

FOR THE OPL TRANSLATOR A ~ONE-SYM80L-LOOKAHEADM PARSER WITHUIJT~BACKTRACKING~ IS USED. THIS REQUIRES A LANGUAGE ~ITH A SYNTAX SUCHTHAT EVERY ENTRY IN A BRANCH OF THE 01AG~AM I~ DETERMINED BY THEFIRST SYM80L UF THAT BRANCH. IF A BRANCH CONTAINS NO SYM80LS,THEN fHE ENfRY INTO THAT 8RANCH IS DETERMINED BY THE SET OF ALLSYMBOLS THAT DIRECTLY FULLOW THE EMPTY BRANCH.

IT CAN 8E CHtCKEU THAT THE OPL INPUT LANGUAGE SATIFIES THISREQUIHEME~T (IT HELUNGS TO THE CLASS OF LL(l) LANGUAGES).

IMPLEMENTING THE PARSER IN PASCAL IS A STRAIGHTFORWARQ PROCESS.FOR EVERY SYNTAX RULE A PASCAL-PROCEDURE IS DECLARED, WITH A PRU­PER PROCEDURE IDENTIFIER INDICATING THE NON-TE~MINAL SYMBOL.THUS FUR THE SYNTAX RULE,

Page 15: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 11 -

<1:»-;:= S

wE DECLARE THE PROCEDURE,

PROCEDURE 8;BEG I iI/

T(S)~ND

WHERE T(S) STANDS FOR THE TRANSLATION OF THE DEFINING SYNTAX CONSTRUCTUS" INTO A PROGRAM CONSTRUCT, ACCOROING TO THE FOLLOWIN~ "TRANSLATION"~ULES:

1. A NON-TERMfNAL SYMBOL APPEARING wITHIN A DIAGRAM,

-~-~~>[ B ]-_._~->

WILL BE TRANSLATED TO THE PROCEDURE CALL STATEMENT,

2. A TERMINAL SYMBOL,

IS T~ANSLATED INTO AN IF-STATEMENT,

IF SYM = X THEN GETSYM

3. A SEQUENCE OF SUB-OIAGRAMS,

---> Sl ---> 52 ---> ... ---> SN --->IS TRANSLATED INTO THE COMPOUND STATEMENT,

BEGIN T(S1); T(S2); ••• ; T(SN) END

WHERE T(SI) STANDS FOR THE TRANSLATION OF THE SUa-OIAGRAM 51.

4. A CHOICE BETWEEN SUB-DIAGRAMS,

+---> S2 ---+• • •

+---> SN ---+CAN EITHER 8E TRANSLATED INTO THE IF-STATEMENT,

IF SYM IN L 1 THEN TeSl) ELSEIF SYM I (\I L2 THEN T(52) ELSE.....IF SYM HJ u~ THEN T(SN)

Page 16: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 12 _.

OR A CASE-STATEMENT,

CASE SYM OF .Ll : T(S1);L2 : T(52);

•.••. e· e·

LN : T(SN)END

WHERE LI DENOTES THE SET OF STARTING SYMBOLS OF SUa-OIAGRAM SI.

5. A LOOP UF THE FORM,

A) - ...---.+----->-- ....-+-----.>,

IS TRANSLATED INTO A WHILE-STATEMENT,

WHILE SYM IN L DO TCS)

BJ ~~-_.-+---------~>.~------_.+---~->

+--~ S <-~- "X" <---+

IS TRANSLATED TO,

WHILE SYM = X DO TCS)

+--~ 5 <--_. "X· <----+

WHICH CAN BE REDUCED TO,

------------+~-,-~----> 5 --------+----~>

+-------- "X" <-~----+

IS TRANSLATED INTU A REPEAT-STATEMENT,

REPEATT (S) ;TEST : = SYr-1 = X;IF TEST THEN GETSYM

UNTIL NOT TEST

AS AN EXAMPLE THE TRANSLATION RULES ARE APPLIED TO THE NON-TERMINALCONSTRUCT "TYPE".CONFORM THE STEP-wISE REFINEMENT STRATEGY, WE WILL DEAL wITH THESCALAR AND SU8RANGE TYPES IN A SEPARATE PROCEDURE CALLED"SIMPLETYPE". LET THE SYNTAX OF THE CONSTRUCT "TYPE" BE DEFINED BY:

Page 17: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 13 -

TYPE

+--. "ARRAY~ --+,•

.. - -.--...- _._,-.-._' _._..,.+-

+-->" ["--+-->[SIMPLETYPE]--+-->"l"--"OF"--[SIMPLETYPEJ --+I I. .+-__._~~ It," <_.~.....+

THEN APPLICATION OF THE RULES PRODUCE THE FOLLOWING PROCEDUREDECLARATION:

PROCEDURE TVP;

PROCEDURE SIMPLETYPE;BEGINEND;

bEGINIF 5YM IN SET-OF-TYPE-BEGIN-SYMBOLS THEN

BEGINIF SYM IN SET-OF-SIMPLETYPE-BEGIN-SYM80LS THEN

SIMPLETY?EELSE

IF SYM = ARRAV-SYM THENtiEGIN

GETSYf-1;IF SYM : LEFT-BRACKET THEN GETSYM;REPEAT

S I i-1 P LET YPE;TEST := SYM = COMMA;IF TEST THEN GETSYM

UNTIL NOT TEST;IF SYM = RIGHT-BRACKET THEN GETSYM;IF SYM = OF-SYM THEN GETSYM;SIMPLETYPE

END (* SVM = ARRAY-SYM *)END

EN[J; (. 'TVP .)

3.3 THE SEMANTIC ASPECTS

SEMANTIC ANALYSES OF A SOURCE PROGRAM INVOLVES COLLECTING THEMEANING OF IDENTIFIERS, CONSTANTS ANO EXPRESSIONS IN A CERTAINCONTEXT, AND tXAMINING THE CONSTRAINTS THE SEMANTIC RULES IMPOSEUPON THE SYNTAX.

THE MEANI~G ~ILL BE DESCRIBED 8Y SO CALLED ATTRIBUTES.EXAMPLES OF ATTRI8UTES OF THE VARIOUS ITE~S ARE:

Page 18: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

iTEM:

iDENTIFIER

CONSTANT

EXPRESSION

_. 14

ATTRIBUTE:

WHETHER IT IS A VARIABLE, A CONSTANT,A TABLE IDENTIFIER, ETC.

T~E VALUE OF THE CONSTANT

ITS TYPE

IN THIS CHAPTER THE DISCUSSION OF THE SEMANTIC ASPECTS OF THE OPL­TRANSLATO~ DESIGN WILL eE RESTRICTED TO THOSE ATTRI8UTES THAT ARE~ECESSARY FOR SEMANTIC CHECKING. THE ATTRIBUTES CONCERNED WITH GE­NERATING THE "CODE" WILL BE DEALT WITH IN CHAPTER 3.4.

SEMANTIC CHECKS ARE PERFORMED THROUGHOUT THE PARSER PROCEDURES,EITHER ~y SIMPLE TESTING OF AN ATTRIBUTE IN AN IF-STATEMENT OR BYCALLING SPECIAL SEMANTIC PROCEDURES, LIKE "COMPTYPES" IN WHICH THETYPE COMPATIRILITY IS DETERMINED.

3.3.1 ATTRIBUTES OF CONSTANTS

CONSTANTS ARE RECOGNIZED BY THE SCANNER. THE ASSOCIATED DATA TYPEIS SOMETIMES IMPLICITLY INDICATED BY THE ENUMERATED TYPE VALUE OFTHE VARIABLE "SYM". THE TYPE OF SOME OF THE CONSTANTS IS CONTEXT­DEPENuENT. TO RESOLVE ANY AMBIGUITIES (SEE CHAP. 4 OF THE MANUAL)SOME EXTRA ATTRIBUTES ARE NEEDED.THE VALUE OF A CONSTA~T IS DESCRIBED BY THE GL08AL VARIABLE "VAL"OF TYPE "VALU",

VALU =- RECORDLOGFLAG : BOOLEAN;CASE INTVAL : BOOLEAN OF

TRUE CIVAL: INTEGER);FALSE: (SLGTH : O•• STRGLGTH;

SVAL : STRGTYP;BOOLE : BOOLEAN)

END

THE VALUE OF A SCALAR CONSTANT IS REPRESENTED BY AN INTEGER VALUE INTHE FIELD IIIVALII. A VECTOR/STRING CONSTANT IS DECRIdED BY ITS LENGTH"SLGTH" AND A SEQUENCE OF CHARACTERS "SVAL" OF TYPE "STRGTYP":

STRGTYP = ARRAY(l •• STRGLGTH] OF CHAR

"STRGTLGTH" IS A CONSTANT IDENTIFIEH THAT DENOTES THE MAXIMUM NUMBEROF CHARACTERS THAT ARE ALLOwED IN A STRING.THREE RUOLEAN FIELDS ARE USEO TO SUPPLY SOME TYPE INFORMATION:

"INTVAL" = TRUE, DENOTING A SCALAR CONSTANT,= FALSE, A VECTOR/STRING CONSTANT.

"LOGFLAG" = TRUE, IT IS POSSIBLE THAT THE (ELEMENTS OF THE) CONSTANTIS OF TYPE BOOLEAN OR LUGICAL,

= FALSE, IT IS CtRTAINLY NOT A BOOLEAN OR LOGICAL CONSTANT.

Page 19: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 15 -

"BODLE" : TRUE, (IMPLIES "LOGFLAG" :: nWE) IT IS POSSIBLE THATTHE CONSTANT IS A BOOLEAN VECTOR,=FALSE, THE CONSTANT IS CERTAINLY NOT A BOOLEAN VECTOR.

THE FOLLOWING TABLE GIVES EXAMPLES OF CONSTA~TS AND THEIR ATTRIBUTES.

CONST •. i SYM I LOGFLAG I INTVAL I IVAL I SLGTH , SVAL I aOOLE I. . • . . . ·~~-_.~~~+-~--~------~~.+-~--~----+-~------+~----~+---~--~+_._---,-+-------+

0 INTCOMST TRUE I TRUE 0 I. ·1 INTCONST TRUE T~UE I 1 f·2 , INTCONST FALSE TRUE 2 .'.3 PJTCONST TRUE TRUE 3* I ASTEtHX TRUE Tf.lUE 2.# t3ARCHAR TRUE TRUE I.l

-qq INTCONST FALSE TRUE -qq -,z' STRINGCONST FALSE FALSE 26 1 Z, 110 ' STRIiIlGCONST TRUE FALSE 3 110 TRUE, 1*"3' STRINGCONST TRUE FALSE 3 1*3 FALSE

'ABeD' STRINGCONST FALSE FALSE 4 ABCD_.__._--_.+...----------- ..-- ....-_.- ...-....--+_._--..--_.+-----._+_....._----+---_._-.-._----_...NOTE THAT' THE INTEGER REPRESENTATION OF CHARACTER CONSTANTS DEPENDS ONTHE COLLATING SeQUENCE OF THE AVAILABLE CHARACTER SET. IN THE ASCII SETTHE LETTER ·Z" WILL HAVE SEQUENCE NUMBER 26.

3.3.2 ATTRIBUTES OF IDENTIFIERS

TO CHECK THE LEGAL .USE OF AN IDENTIFIER ~E NEED TO DESCRIBE,

- THE CLASS OF USAGE IT BELONGS TO. THIS IS DONE BY INTRODUCINGTHE ENUMERATED TYPE,

IDCLA5S : (KONST, VARS, TABL, PROC, FUNC, TYPES)

- IN CASE THE IDENTIFIER IS NOT A PROCEDURE IDENTIFIER, THE ASSOCI­ATED (lATA TYPE.

THESE ATTRIBUTES CAN BEST 8E DESCRIBED IN THE FORM OF A RECORD:

IDENTIFIER: RECORDNAi..,E : ALFA;IL>TYPE : STP;KLASS : IDCLASS

END

THE "NAME" OF THE IDENTIFIER IS OF TYPE "ALFA",

ALFA : ARRAY [1. .ALl OF CHAR

"AL" DENOTES THE NUMBER OF SIGNIFICANT LETTERS AND DIGITS.

THE NUMBER OF INSTANCES OF THE RECORD "IDENTIFIER" THAT wILL 8£NEEDED ~HILE rRANSlATING AN OPL-PROGRAM IS NOT KNOWN BEFOREHAND

Page 20: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- lb •.

(PRESUMING T~AT WE USE A ~ONE-PASS" TRANSLATOR). WE THEREFORE wILLUSE DfNAMICALLY ALLOCATED STORAGE (FOINTER VARIABLES) TO HOLD THEIDENTIFIER TABLE. A POiNTER VARIABLE TO AN ENTRY IN THE TABLE MUST BEOF THE TYPE,

lDTP : ~ IOENTIFIER

TYPES ARE DESCRIBED IN A DATA STRUCTURE CALLED "STRUCTURE". INSTAN­CES OF "STRUCTUREP WILL ALSO BE HELD IN DYNAMICALLY ALLOCATED STORAGE.THEY ARE REFER~EO TO BY VARIABLES OF THE TYPE,

STP = t STRUCTURE

THE RECORD ~5TRUCTURE" REFLECTS THE SUaDIVISION OF THE DATA TYPES INSCALAR, SUBRANGE AND ARRAY, EACH WITH ITS OWN ATT~IBUTES:

STRUCTFORM ~ (SCALAR, SU8RANGE, ARRAYS);

STRUCTURE =RECORDCASE FORM : STRUCTFORM OF

SCALAR : ();SU8~'ANGE: (RANGETYPE : STP;

MIN,MAX : VALU);ARRAYS ~ (AELTYPE,

(* THE TYPE OF THE COMPONENTS,CAN 8E AN ARRAY ITSELF *)

INXTYPE : STP)(. THE INDEX TYPE *)

END

3.3.3 THE IDENTIFIER TABLE

ALL IDENTIFIERS AND THEIR ATTRIBUTES ARE COLLECTED IN A TA8LE.SE~ANTIC ANALYSIS REQUIRES THAT IN THE DEFINITION ANO DECLARATION PARTOF THE PROGRAM NEW ENTRIES, I.E. IDENTIFIERS PLUS ATTRIBUTES, ARE ADDEOTO THE TABLE, AND THAT IT IS POSSIBLE TO LOCATE A PARTICULAR EXISTINGENTRY AND INSPECT ITS ATTRIBUTES.

FOR THESE TABLE "OPERATIONS" THE PROCEDURESP "ENTERID", RESPECTIVELY"SEARCHID" wERE MADE.

THE STRUCTURE OF THE TABLE IS THAT OF AN UNBALANCED BINARY TREE.THE InENTIFIERS ARE ORDERED ACCORDING THE LEXICOGRAPHICAL ORDER OFTHEIR NAMES.

EXM~PLE :

THE FOLLOWING PR{)GRAM PART IS TAKEN FROM THE PROCEDURE ~CONSTDEFR

THAT TREATS THE CONSTANT DEFINITION P~RT.

<CONSTANT DEFINITION> ::= <IDENTIFIER> = <CONSTANT>

(* ASSUME: VAR IPSP

LVALU

IDTP;: STP;: VALU;

Page 21: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 1 t -

IF gYM =IDENT THENdEGIN

I\IEW(IP,KONST) ;wITH IPt DU (~FILL IN PROPER ATTRIBUTES ~)

BEGIN NAME:=ID; IDTYPE:=NIL; KLASS::KONST END;ENTERID(IP);GETSYM;IF SYM : EQUALSIGN THEN GETSYM;CONSTANT(SP, LVALU);(* THE PROCEDURE CONSTANT SUPPLIES THE "TYPE" OF THE

CONSTANT iN THE POINTER VARIABLE "SP" AND ITS VALUEAS "LVALU" '.II)

wITH IP' DO (~ FILL IN THE "TYPE" AND "VALUE" ATTRI8UTES *)8EGIN IDTYPE:=SP; VALUES:=LVALU END

ENO

3~3.Q ATTRIBUTES OF EXPRESSIONS~...~_.- --_.-._...--- - ---_._--- -~,---

EXPRESSIONS INVOLVE OPERANDS AND OPERATORS. BINARY OPERATORS HAVETwO OPE~ANOS; A UNARY OPER~TOR HAS A SINGLE nPERAND. THE ATTRIBUTESOF AN OPERAND CONTAIN THE FOLLOWING INFORMATION:

- THE KIND OF OPERANO, I.E. WHETHER IT IS A CONSTANT, A VARIABLEOR AN EXPRESSION ITSELF.

- THE TYPE OF THE OPERAND.

THIS INFORMATION WILL BE COLLECTED IN A VA~IA~LE CALLED "GATTR" OFTYPE "ATTR". uINARY OPERATIONS HAVE A LOCAL VARIABLE CALLED "LATTR"THAT IS USED TO SAVE THE INFORMATION DF THE FIRST OPERAND, wHILETHE ATTRI~UTES OF THE SECOND OPERAND ARE STORED IN "GATTR".

THE TYPES "ATTRKINO" AND "ATTR" ARE DEFINED BY,

ATTRKINO = (CST, VARBL, EXPR);

ATTR = RECORDTYPP : STP;CASE KIND: ATTRKIND OF

CST: (CVAL : VALU);VARBL : ();

(* CODE-GENERATION ATTRIBUTES *)EXPR : ()

(* CODE-GENERATION ATTRIBUTES *)END

Page 22: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 18 _.

3~a CODE GENERATION

THE PU~POSE OF THE CODE GENERATION PROCEDURES IS TO PRODUCE AA SEGlUENCE OF SI~PLt:: INSTRUCTIONS THAT IS SEMANTICALLY EQUIVALENTTO THE SOURCE PROG~AM.

THE SET OF AVAILABLE INSTRUCTIONS DEPENDS ON THE ~MACHINE~ THATWILL BE USED TO "RUN" THE OPL PROGRAMS. IF wE CHOOSE TO IMPLEMENT THEMACHINE IN SOFTWARE, E.G. wE WRITE A PASCAL-PROGRAM THAT MODELS THEREAL MACHINEr THEN WE ARE FREE TO OEFINE OUR OWN SPECIAL-PURPOSEseT OF INSTRUCTIONS.

USING THIS STRATEGY WE FIRST HAVE TO DEFINE THE HYPOTHETICALMACHINE, THE "OPL-COOE PROCESSOR" (SEE CHAPTER 5).

3.4.1 COOt GENERATION STRATEGY

THE TRANSLATOR PROGRAM HAS BEEN CONSTRUCTED SUCH THAT IT PRODUCESSO CALLED AdSOLUTE CODE, I.E. THERE ARE NO SYM80LIC REFERENCES E.G.OF LABELS, CONSTANTS OR ADDRESSES IN THE CODE. NO ASSEMBLING STEP ISNEEDED AFTER TRANSLATION.

THE CODE CONSISTS OF A SEQUENCE OF INTEGER NUMBERS, REPRESENTINGTHE INTRUCTIONS, CONSTANTS, ADDRESSES, AND LABELS. DURING TRANSLATIONTHE CODE IS SAVED IN AN INTEGER ARRAY,

CODE: ARRAY[ O•• MAXCODE J OF INTEGER

A MEMORY MAP OF "CODE" IS SHOWN IN FIGURE 1.AT THE END OF THE TRANSLATION, THE SIGNIFICANT INFORMATION IN THE ARRAY"CODE" wILL BE SAVED IN THE FILE "OBJFILE", DEFINED AS,

OBJFILE = FILE OF INTEGER

3.4.2 CODE GENERATION ATTRIBUTES-~-~_._----------_._------.-

IN AN OPL PROGRAM VARIABLE IDENTIFIERS AND SUBSCRIPTS ARE USED TOREFER TO CE~TAIN DATA. IN THE OPL PROCESSOR DATA IS REFERRED TO BYADDRESSES. THE TRANSLATOR PROGRAM MUST TAKE CARE OF ASSIGNING ADDRESS­ATTRIBUTES TO VARIABLE IDENTIFIERS AND GENERATE INSTRUCTIONS TO CAL­CULATE THE ADDRESSES OF SUBSCRIPTED VARIABLES.

ADDRESS-ASSIGNMENT IS GOVERNED BY THE FOLLOWING RULES:

- THE NUMBER OF MEMORY LOCATIONS THAT ARE RESERVED FOR STORINGTHE VALUES OF THE VARIOUS TYPES IS,

1 LOCATION FOR ALL SCALAR TYPES;L LOCATIONS FOR ARRAY TYPES, WHERE "L" IS THE TOTAL

NUMSER OF ELEMENTS OF THE ARRAY (= THE PRODUCT OF THENUM~ER OF VALUES OF ALL THE INDEX-RANGES).

- THE FIRST VARIABLE THAT IS ENCOUNTERED WILL GET THE ADDRESS O.

- SUBSEQUENT VARIABLES ARE ASSIGNED AN ADDRESS UETERMINED ijY,

Page 23: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 1q ...

ADDRESS - ADDRESS OF PREVIOUSLY ALLOCATED VARIABLE +2 * NUMBER OF LOCATIONS NEEDED 6Y PREVIOUS VARIABLE.

THE FACTOR 2 IS THE RESULT OF THE NECESSITY TO STORE 2 VALUESIN CASE UF SIGNALS AND PERMANENT VARIABLES.

- TO STORE TEMPORARY VALUES, SPACE IS ALLOCATED ~ITH ADDRESSES~ELATrVE TO ~TEMPBASE". SPECIAL INSTRUCTIONS ARE NEEDED TOSTORE AND LOAD THE CONTENTS OF THESE RELATIVE ADDRESSES.RELATIVE AOORESSING WILL ONLY BE useD IN GENERATING CODEFOR "FOR ..-S TAT EMEN TS " •.

THE ADURESS OF A VARIABLE IDENTIFIER WILL BE REGISTERED AS AN ATTRI8UTETO THAT IDENTIFIER, BY AUGMENTING THE "IDENTIFIER RECURD",

IDENTIFIER = RECORDN"'4E : ALFA;LLINK, RLINK : IDTP;(. POINTERS THAT CONSTITUTE THE BINARY TREE .)IDTYPE : STP;CASE KLASS : IOCLASS OF

KONST (VALUES: VALU);.. --------.. -> VARS (VADOR: ADDARANGE);

TABl (ENTRYTYPE: STP;CADDR : CODERANGE);(*. POINTS TO LOCATION IN "CODE" WHERE

TABLE STARTS *)PROC,FUNC (KEY: 1 •• 10)(* BECAUSE OPL ONLY OFFERS STANDARD FUNCTIONS AND

PROCEDURES, THEY CAN SIMPLY BE INDICATED BYA NUMBER-KEY *)

END

THE SIZE, EXPRESSED BY THE NUMBER OF MEMORY LOCATIONS WHEREIN AVALUE OF A CERTAIN DATA TYPE IS REPRESENTED, IS INDICATED BY THEATTRIBUTE "SIZE" IN THE RECORD "STRUCTURE". FOR CONVENIENCE WE ALSOINTRODUCE FIELDS THAT DESCRIBE THE DIMENSION AND THE STRIDE IN CASEOF ST~UCTURED TYPES.

STRUCTURE = RECORD-- ...._- ....... _> SIZE : ADDRRANGE;

CASE FORM : STRUCTFORM OFSCALAR : ();SUBRANGE (RANGETYPE: STP;

MIN, MAX: VALU);ARRAYS (AELTYPE, INXTYPE : STP;

---- .. ------> DIMENSION, STRIDE : INTEGER)END

TO ACCESS AN ARRAY ELEMENT, DENOTED BY AN ARRAY VARIABLE IDENfIFIERFOLLOWED BY A SUBSC~IPT CUNSISTING OF ONE OR MORE Ii~UEX EXPRESSIONS,CONvENTIONAL POLYNOMIAL INDEX CALCULATIONS ~ILL BE PERFORMED. THISIS 8EST DEMONSTRATED BY AN EXAMPLE:

Page 24: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 20

ASSUME THE FOLLOwING DECLARATION OF A 3-0IMENSrONAL ARRAY IN OPL,

VAR AR~ : ARRAY t A •• B ,. C •• D, E•• F ) 0FIN TE.GER

LET THE FIRST ELEMENT OF "ARR" BE DENOTED BY THE ADDRESS "BASE",

ADDRESS( ARR(A,C,EJ ) : BASE

THEN THE ADDRESS OF AN AKBITRARY ELEMENT IS DETERMINED BY,

ADDRESS( ARRtI,J,K] ) =- BASE. 2 • OFFSET

OFFSET =- (I-A) * S3 + (J-C) * S2 • (K-E) * Sl

tJHERE Sl-= 1,S2 =- (F - E • 1) * SlS3 =- (0 - C • 1) * 52

FIGURE 3 SHOWS HOW THE SAMPLE ARRAY "ARR" IS MAPPED ONTO THE DATAMEMORY AREA OF "STORE".

THE GENERATION OF CODE TO PERFORM THE NECESSARY ADDRESS CALCULTIONSIS TAKEN CARE OF BY THE PROCEDURE "SELECTOR".

3.~.3 THE INSTRUCTION SET-~---~~-~--~----~-~

MANY INSTRUCTIONS ARE ADOPTED FROM THE PASCAL P-CODE INSTRUCTIONSET. TO HANDLE VECTURS SPECIAL VECTOR-INSTRUCTIONS ARE INCORPORATED.THEY ARE INDICATED BY ADDING THE LETTER "V" TO THE INSTRUCTIONf'.1NE~'IONIC.

FURTHERMORE SPECIAL PROCESSING INSTRUCTIONS ARE INCLUDED TO ACTI­VATE THt:. PROCESSING PROCEDlJRES DESCRIbED IN CHAPTER 5.1.

THE INSTRUCTION SET CAN BE SUBDIVIDED INTO 5 GROUPS.

1. INSTRUCTIONS FOR FETCHING DATA ONTO THE STACK.

CODE 1 MNEMONIC 1 PARAMETERS

-~---+----------+---------------------------~--------- ---1 IND 1 02 INDV 2 : LENGTH, STRIDE61 IXA 1 : 2*STRIDE3 LAO 1 : ADORESSq LOC 1 : CONSTANT (INTEGER REPRESENTATION 1)'5 LDCV I LENGTH+1: LENGTH, VECTOR-CONSTANT.6 LDO 1 : ADDRESS7 LDOV 3: ADDRESS, LENGTH, STRIDE8 LOD 1 : RELATIVE AODRESS

THIS GROUP CONSISTS OF INSTRUCTIONS FO~ LOADI~G CONSTANTS,ADDRESSES AND THE CONTENTS OF ADDRESSES, ANO PE~FORMING

ADDRESS CALCULATIONS.

Page 25: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 2:1 _.

EXAMPLES:

LAO 0

ADDRESS 0 IS LOADED ON TOP OF THE STACK.

LOO 2

THE CONTENTS OF THE RELATIVE ADDRESS 2 IS LOADED ON TOP OFTHE STAC~.

LDOV 12 6 ~

LOAD THE CONTENTS OF b ADDRESSES, STARTING WITH ADD~ESS 12 ANDWITH A STRIDE OF a, ON THE STACK. IN FACT THE CONTENTS OF THEADDRESSES 12, 20, 28, 36, 44 AND 52, IN THAT ORDER, wILL BELOADED. AFTERWARDS THE STACKPOINTER "TOP" POINTS TO THE "STORE"LOCATION CONTAINING THE LAST FETCHED VALUE.

2. INSTRUCTIONS FOR STORING DATA.

CODE i MNEMONIC 1 PARAMETERS-----~+_._.----,-- _.- +-_.--_....-_...- ---_.- -_._- -.. -_ .. ------.. _.-.--- --.... --_._ .. _.94 MOV 3 : LENGTH, STRIDE1, STRIDE295 MOVD 3: LENG TH," ADDRESS1, ADDRESS292 1 STO ! 093 STOV 2 : LENGTH, STRIDEaq , STR 1 : RELATIVE ADORF.:SS.90 SRO 1 1: ADDRESS'H SROV 1 2: ADDRESS, LENGTH

THIS GROUP CONSISTS OF INSTRUCTIONS FOR STORING DIRECTLY(ADDRESS IS PARAMETER), INDIRECTLY (ADDRESS IS ON STACK) ANDRELATIVE (BASE ADDRESS IS "TEMPBASE").

EXAMPLE:

SRO 12

STORE THE CONTENTS OF THE TOP OF THE STACK AT ADDRESS 12.THE STACKPOINTER IS DECREMENTED BY 1.

3. INSTUCTIONS TO PERFORM OPERATIONS.

CODE 1 MNEMONIC ! PARAMETERS-_.~--+----------+--------_._------------------------- -----

10 ADD 09 AOD2 0

1 1 ADDV 1 : LENGTH12 AND ! 013 ANOV 1 : LEilJGTH14 I BUS 0.15 DEC 1 : DECRE~'ENT

16 DIV ! 017 DIVV 1 : LENGTH

Page 26: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 22 -

CODE 1 MNEMONIC 1 PARAMETERS~~ ...._._+...--~~--~--.--_ ...--,-_.~-- ...-~_.--_ ...-_._---- ~._---_ .. -- -_._-_._.-

18 OOM 04·6 Ef.JL 047 EQLV 1 :38 EQU 04~ GEQ 042 GRT 019· INC t :20 lOR 021 rORv 1 :3u LES 036 LEQ 022 MOO 023 MOOV 1 :24 MUL 025 t-AULV 1 :26 NEG 027 NEGV 1 :uo NEG! 028 NOT I 029 NOTV 1 :30 SUB 031 SU8V 1 :32 VIO 048 XOR 049 XORV 1·:

LENGTH

INCREMENT

LENGTH

LENGTH

LENGTH

LENGTH

LENGTH

LENGTH

LENGTH

THIS GROUP OF INSTRUCTIONS COMPRISES OF INSTRUCTIONS TO PEH­FORM ARITHMETIC, LUGICAL AND RELATIONAL OPERATIONS.8ECAUSE OF TYPE AMBIGUITY OF SOME OF THE CONSTANTS, IT SOMETIMESOCCURS THAT THE RIGHT OPERAND IS LOADED ONTO THE STACK PRIUR TOTHE LOADING OF THE FIRST OPERAND. IN CASE OF NON-COMMUTATIVEOPERATORS, SPECIAL "INVERSED" INSTRUCTIONS ARE THEREFORE IN­CLUDED, E.G. "VIC" (INVERSED "DIV") AND "BUS" (INVERSED "SUB").

EXAMPLE:

MULV 4

THE TOP 4 ELEMENTS OF THE STACK ARE MULTIPLIED WITH THE4 UNDERLYING ONES. THE STACKPOINTER IS DECREMENTED BY 4AND SO POINTS TO THE LAST ELEMENT OF THE RESULT VECTOR.

4. B~ANCHING INSTRUCTIONS

CODE 1 MNEMONIC 1 PARAMETERS--_ ..._+----------+----------------------------------------

71757772

FJPJNTJN01UJP

1: LABEL1: LABEL1: LABEL1: LABEL

"FJ P" AI~ 0 " II J P" ARE THE p - COD E CON 0 I TION AL, RES p. UNCO NDI TION ALJUMP INSTRUCTIONS.

Page 27: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 23 -

" JNT" IN 0 I CATES A J U~1 P TO 8 E MAD E, I FAT RA.N SIT ION 0 F THE VAl UE:OF T~E VARIA8lE~ W~rCH ~DDRESS IS ON TOP UF THE: STACK, HAS OC­CURRED."JN01" SPECIFIES THAT THE TR~NSITION HAS TO BE A "POSITIVE EDGE",I.E. THE VALUE OF THE VARIABLE, OF WHICH THE ADDRESS IS ON TOPOF THE STACK, MUST CHANGE FROM "FALSE" TO "TRUE".THE LA~El POINTS TO AN ENTRY IN "CODEn WHERE EXECUTION ISRESUMED.

5. SPECIAL INSTRUCTIONS.

CODE i MNEMONIC i PARAMETERS-~~~-+-~-~_._----+------------_._~------~----~-----------~-

6059

eHKCHKV

i 2: MIN.BOUND, MA~.BOUNO

! 3: LENGTH, MIN.BOUND, MAX.BOUND

THE TOP OF THE STACK IS CHECKED AGAINST A ~IINIMUM AND MAXIMUMBOUND. IF THE VALUE IS NOT WITHIN THE BOUNDS, A RUN-TIME ER­ROR MESSAGE IS SUPPLIED AND EXECUTION IS STOPPED.

CODE i MNEMONIC ! PARAMETERS--~--+-,-----~---+-----~---,~~----~,------------,----~-_._-~-~

6988&499

ENTLINHLTSTP

3: TEMPBASE, TEMPMAX, STACKMAX1: L.INENUMBERoo

"ENT" IS TH~ FIRST INSTRUCTION GENERATED. IT INITIALIZES SOMEPOINTERS TO "STORE". THE THIRD PARAMETER IS INTENDED TO IN­DICATE THE MAXIMUM STACK-SIZE NEEDED TO RUN THE CODE~ THISHAS NOT SEEN IMPLEMENTED YET. .

"LIN" INOICATES THE LINENUM8ER OF THE SOURCE PRUGRAM LISTING,WHERE THE SUBSEQUENT CODE INSTRUCTIONS WERE GENERATED.TH1S INFORMATION IS USED IN RUN-TIME ERROR MESSAGES.

"HLT" DENUTES A TEMPORARY HALT OF THE INTERPRETER ACTIONS:CONTROL IS HANDED OVER TO THE PROCESSING PROCEDURES.

"STP" INDICATES THE FINAL END OF THE EXECUTION: IT IS THELAST INSTRUCTION GENERATED.

CODE ! MNEMONIC i PARAMETERS-----+----------+----------------------------------.-----

62 ETS i 1: LENGTH

THIS INSTRUCTIUN WILL BE GENERATED IF IN A BINARY OPERATIONONE OPERANO IS A SCALAR AND THE OTHER A VECTOR. THE SCALAROPERAND IS LOADED ON THE STACK AND "EXPANDED" TO THE SAMELENGTH AS THE VECTOR OPERAND, THUS ALLOWING THE NORMAL VECTOR­OPERATION INSTRUCTIONS TO BE GENERATED ~y THE TRANSLATOR.

CODE l MNEMONIC i PARAMETERS

-----+----------~------------------------------------- ---63 CSP i 1: KEY OF STANDARD PROCEDURE OR FUNCTION

Page 28: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 24 -

A CALL TO A STANDARD PROCEDURE/FUNCTION IS MADE~

A LIST OF THESE IS GIVEN AT THE END OF APPENDIX C.

CODE ! MNEMONIC ~ PARAMETERS-~_._~+--_. __._._._-~+-----_.~~_._~.~~_.~--_._~~~-~~~~-~~~----_._---

80 F~O 1 1 : CONSTANT81 TO 1 : CONSTANT11 OUR 1 : LABEL68 USE 065 SCA ! 2 : EXPR.ADDRESS, VAR.ADDRESS66 ARR 3: EXPR.ADDRESS, VAR.ADDRESS, LENGTH67 vEe q : EXPR.ADDRESS, VAR~AOORESS, LENGTH, STRIDE

"FRO" ANO "TO" INSTRUCTIONS ARE USED TO SPECIFY A CAUSE. THEYALWAYS IMMEDIATEOLY FOLLOw A "JNT" INSTRUCTION.

"OUR" INDICATES THE START OF A DURING STATEMENT~ THE PARAMETERREFERS TO THE FIRST INSTRUCTION OF THE PROCESS BLOCK.

"USE" INDICATES THE START OF A LIST OF PERMANENT VARIABLES THATWILL BE USED wITHIN THE DURING STATEMENT.

"SCAN, "ARR" AND AVEC" DESCRIBE THESE PERMANENT VARIABLES.THE PARAMETER "EXPR.ADDRESS" IS THE LABEL INDICATING WERE THECODE OF THE PERMANENT ASSIGNMENT CAN BE FOUND."VAR.ADDRESS" IS THE ADURESS OF THE PERMANENT VARIABLE IN "STORE".

A COMPLETE LIST of INSTRUCTIONS TOGETHER ~ITH A BRIEF DESCRIPTIONOF THEIR INTERPRETATION CAN BE FOUND IN APPENDIX C.

3.4.4 THE CODe GENERATION DIAGRAMS

THE SEQUENCE OF CODE INSTRUCTIONS THAT IS GENERATED FOR A CERTAINSYNTACTICAL CONSTRUCT CAN BE EXPRESSED IN THE FORM OF DIAGRAMS.CONTEXTUAL SEMANTIC INFORMATION IS INCLUDED IN THESE DIAGRAMS BY MEANSOF LABELLING CERTAIN "PATHS" WITH PREOICATES. A PATH ~ILL BE FOLLOWEDONLY IF ITS PREDICATE IS TRUE.

THE CODE GENERATION DIAGRAMS ARE VERY SIMULAR TO THOSE USED IN THEPASCAL-P4 COMPILER (SEE "IMPLEMENTATION NOTES", REF. 30).

AS AN EXAMPLE THE CODE GENERATED FOR AN ON-STATEMENT ~ILL BE DIS­CUSSED HERE.

DIAGRAM OF "ON-STATEMENT":

ACTION­STATEMENT

LABEL (THIS LABEL IS GENERATED BY THE "CAUSE n)

Page 29: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 25 -

"CAUSE" ANIJ "·ACTION-STATEr·IENT" IN THIS DIAGRAM ARE CALLED "'SYNTACTICUNITS", THEY REPRESENT THE CUDE GENERATED FOR THE SYNTACTICAL CON­STRUCTS OF THE SAME NAME.

DIAGRA~ OF "CAUSE"~

TRANSITION CAUSE

PREDICATES:

P: THE CAUSE STARTS wITH A VARIABLE IDENTIFIER, UR ONE OF THEKEr~ORDS "EVENT", "EVERYTIMESLOT" OR "LISTEVENT".

Q: THE CAUSE STA~TS WITH THE KEYWORD "TRANSITION".

DIAGRAM UF "SIMPLE CAUSE":

NOT IMPLEMENTED YET

PREOICATES,..~_ ..-...._... _-R: THE SIMPLE CAUSE STARTS wITH A SCALAR VARIABLE OF TYPE LUGICAL

OR tiOOL~AI~.

S: THE SIMPLE CAUSE CONSISTS OF THE KEYWORD "EVENT".

T: THE KEYWORD IS "EVERYTIMESLOT".

U: THE KEYWURD IS "LISTEVENT".

THE INSTRUCTION THAT IS GENERATED IS INDICATED IN THE DIAGRAM BYPUTTING IT I~ A ~ox WITH ROUNDED EUGE5.

Page 30: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 26

Dt4GR4M OF wTRANSITION CAUSE":

TRANSITION E~PRESSION NOT YET IMPLEMENTED

PREDICATE

v: THE KEYWORD "OR" rs FOUND.

DIAGRAM OF "TRANSITION EXPRESSION":

FRO <CONSTANT>

TO <CONSTANT>

PREDICATES

\1: A SCAL AR VAR! A6 LEI S F () UNO •

X: THE KEY III ORO F UUj W I S II FRO WI •

Y: THE KEYWORD FOUND IS "TO".

Page 31: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 27 -

THE DIAGRAMS FOR THE CONSTRUCT "VARIABLE" AND THE SO CALLED CON­TEXTUAL CODE GENERATOR "LOADADDRESS" ~ILL NUT ~E DISCUSSED HERE.

EXAMPLE:

USING THE DIAGRAMS, THE PROGRAM CONSTRUCT,

ON TRANSITION HOUR FROM 23 TO ° DO

WILL BE TRANSLATED ro,

LAO 34JNT L 12FRO 23TO 0

•••

L 12 :

~ ADDRESS OF VARIABLE PHOUR" IS ASSUMED TO BE "34"; JUMP TO LABEL 12 IF NO TRANSITIUN OCCURRED

; HERE THE CODE GENERATED BY THE ACTION STATEMENT; HAS TO BE FILLED IN

~IBLIOGRAPHICAL NOTES:---~_._--~~-----~_._---

TO BECOME FAMILIAR WITH THE CONCEPT OF "STRUCTURED PROGRAMMING",AND THE PROGRAMMING LANGUAGE PASCAL, REFERENCES "I, 14, 19, 22, 23,24, 27, 40, 41, 42, 43, 45, 47, 48, 49, SO AND Sl wERE USED.A GENERAL TREATMENT ON COMPILER DESIGN CAN BE FOUND IN 2, 3 AND 10.INFORMATION ABOUT A PASCAL COMPILER AND/OR SPECIFIC PARTS OF IT, CANBE FOUND IN 6, 7, 30, 39 AND "lb.REFERENCES 1, 25 AND 35 REFER TO ARTICLES ABOUT PARSING METHODS.COMPILER DESIGN METHODOLOGIES ARE DESCRIBED IN S, 11, 28 AND 46.

Page 32: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

_. 28 -

4~ INCORPURATING ERROR RECOVERY IN THE T~ANSLATOR PROGRAM

OPL HAS BEEN DEFINED SUCH THAT A SOURCE PROGRAM CAN BE PARSEDWITH A LOOK-AHEAD OF JUST ONE SYMBOL. THIS IMPLIES THAT IF THELOOK-AHEAD SY~80L IS IN ERROR ALL FURTHER PARSER ACTION wILL BESENSELESS, UNLESS WE DO SOMET~ING ABOUT IT.

AS ~ITH ~ANY HIGH LEVEL LANGUAGE COMPILERS IT WILL NOT BEACCEPTED THAT THE TRANSLATION PROCESS IS STOPPED AS SOON AS THEFIRST ERROR IS DETECTED.

U.l KINO OF ERRORS

LET US FIRST INVESTIGATE WhAT KINO OF ERRORS wE CAN EXPECTTO dE MADE BY THE USER OF THE OPL-PACKAGE. IT IS USEFUL TO 015­TINGUISrl BETWEEN TRANSLATION-TIME AND RUN-~IME ERRO~S. IN THISCHAPTER THE FORMER KIND WILL BE DISCUSSED. RUN--TIME ERRORS WILLBE MENTIONED IN CHAPTER S.

THE COMPILE-TIME ERRORS CAN BE SUBDIVIDED INTO LEXICAL, SYNTAC­TIC ~NO SEMANTIC ERRORS. IT IS GOOD PRACTICE TO DESIGN THE PARTS OFA TRANSLATOR PROGRAM WITH ERRUR RECOVERY IN MIND. FOR INSTANCEWHILE DESIGNING THE SCANNER ONE SHOULD ALREADY TAKE CARE OF THEPOSSIBLE LEXICAL ERRORS.

+---------------~------_._---------_._------------------,----------+1 COMPILE-TIME ERRORS........- - .. - ---_._'.-_-,- --_.- - ----- --- --- _.- - - -_._-----_.- - _.__._--- -- _.- - -- - - ---'--+! LEXICAL: INCORRECT TERMINAL SYMBOLS

- ILLEGAL CONSTANT: "- ILLEGAL CHARACTER: ?

SYNTACTIC: INCOHRECT PROGRAM STRUCTURE

- MISSING DELIMITERS- MISMATCHED PARENTHESES- MISMATCHED aEGIN-END

,.1

, SEMANTIC: INCORRECT USE OF IDENTIFIERS,VIOLATION AGAINST TYPE RULES

- WRONG NUMBER OF ARRAY SUBSCRIPTS- MISMATCHED OPERAND TYPES- CONSTANT IDENTIFIER USED AS VARIABLE

+_._-------------------------------------------------- --~-------+

IN THE NEXT SAMPLE PASCAL-PROGRAM THE VARIOUS KINOS OF ERRORSARE INDICATED:

Page 33: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 2q -

1 V~R COUNT ~ O~.9;

2. CO UN T -to 1:: 1 ••-10~SYNr~crIC ERROR: ~," OR ":H' EXPECTED HERE.

1"S Y~ TACrIC ERR 0~: It-; II EXPECrED.3 BYTE ARRAY (0 ••.7) OF 800LEANi

~SYNTACTIC ERROR: ~[" EXPECTED.1'SYNTACTIC ERRUR: "J" EXPECTED.

4· BEGiN5 COUNT=~q;

6 FOR 1=1 TO COUNT 001'SEMANTIC ERROR: VARIABLE ~I" IS NOT DECLARED.~SYNTACTIC ERROR: ":=" EXPECTED.

7 BEGIN8 BYTErIJ::=-!;

~SEMANTIC ERROR: ELEMENT TYPE MUST BE BOOLEAN.q END.

~SYNTACTIC ERROR: "END" MISSING.

4.2 REQUIREMENTS FOR THE HANDLING OF ERRORS-'--'~""--_.~ _._- ...- "'~'----'- _.- ----..- _._ ... - _.- - _...--...... _~

TO FACILITATE THE DEBUG~ING OF OPL-PROGRAMS, WE REQUIRE THEFOLLOWING REGARDING ERROR HANDLING:

- DETECT ALL ERRORS, AND REPORT THEM BACK IN AN UNDERSTANDABLEWAY.

- ALWAYS T~Y TO CORRECT "MINOR" ERRORS, SUCH AS MISSING ONE­CHARACTF.R SYMBOLS, MISSPELLED IDENTIFIERS, ETC.

- TRY TO AVOID THE GENERATION OF SPURIOUS ERRORS.THEY MIGHT CONFUSE THE PROGRAMMER.

FROM THE TRANSLATOR POINT OF VIEW WE REQUIRE THAT:

- THE OVERHEAD IN TRANSLATION TIME CAUSED BY INCLUDING ERRORRECOVERY SHOULD BE SMALL.

- IT SHOULD BE POSSIBLE TO INCORPORATE ERROR RECOVERY IN ASYSTE~ATIC AND STRUCTURED WAY.

4.3 MEANS OF SYNTACTIC ERROR RECOVERY

IN GENERAL WE CAN CHOOSE BETWEEN 4 DISTINCT ACTIONS TO PERFORMIN ORDER TO RECOVER FROM AN ERRONEOUS STATE:

1. INSERTION OF THE PREDICTED TERMINAL SYMBOL, I.E. WE CONSIDER

THE CURRENT SYMBOL TO BE AN ACCEPTABLE SUCCESSOR OF THE MISSINGSYMBOL.

2. DELETION

A) UF THE CURRENT SYMBOL, I.E. THE CURRENT SYMBOL IS CONSIDEREDNOT VALID IN THIS CONTEXT.

Page 34: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 30 _.

8) OF TKE CURRENT SYMBOL AND A NUMBER OF SUCCEEDING SYMBOLS UNTILA PROPER CONTINUATION SYMBOL IS FOUND~ THIS ACTION IS ALSO~EFERREO TO ~S "SKIPPING~.

3. COR~ECTlON OF THE CURRENT SYMBOL TO ONE OF THE PREDICTED SYMBOLS.

4. POSTPONING THE RECOVERY ACTION, I.E. THE PARSING PROCESS IS

RESUMED FOR SOME SYMBOLS, UNTIL A PROPER RECOVERY ACTION CAN BEPERFORMED.

THE LAST POSSIBILITY, POSTPONING A DECISION, COULD dE USED TO DESIGNA VERy GOOD RECOVERY SCHEME, BECAUSE IT USES MORE INFOWMATION ABOUTTHE CONTEXT OF THE ERROR. A DISADVANTAGE IS THAT IT INHERINTLY NEEDSA BACKTRACKING MECHANISM. TO KEEP THINGS SIMPLE THIS POSSI8ILITY WILLNOT BE USED.

OF THE OTHER MEANS OF RECOVERY IT MUST BE SAID THAT INSERTION ANDCORRECTION ARE LESS HARMFUL THAN UELETION. WITH DELETION (OR SKIPPING)WE ALWAYS MUST BE AWARE OF THE FACT THAT WE COULD LOOSE CORRECTSYMBOLS OR MISS TO INOICATE ERRONEOUS ONES.

THE ABOVE MENTIONED LOCAL RECOVERY ACTIONS CAN BASICALLY BE EXPRESSEDBY THE FOLLOWING PASCAL-PROGRAM TEXTS:

1. INSERT rON

IF NOT (SYM IN SET-OF-PREDICTED-SYM~OLS) THEN ERRORELSE (. PAHSER ACTION *)

2. A) DELETION bF A SINGLE SYMBOL

IF NOT (SYM IN SET-OF-PREDICTED-SYM80LS) THENBEGIN ERROR: G~TSYM END

(* PARSER ACTION *)

B) SKIPPING

IF NOT (SYM IN SET-OF-PREDICTED-SYM60LS) THENBEGIN ERROR;

REPEAT GETSYM UNTIL SYM IN SET-OF-PREDICTED-SYMBOLSEND

(* PARSER ACTION *)

3. CORRECTION

A) SIMPLE:

IF SYM <> PREDICTED-SYMBOL THENdEGIN ERRUR; SYM := PREDICTED-SYMBOL END

(* PAkSER ACTION .)

Page 35: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 3'1 -

8) MORE THOROUGH:

IF SYM <:> PREDICTED-SYMBOL THENBEGIN ERROR;

IF SY~ IN SE T-OF -C OR REC Tr ON-oS Yt-1BOLS THENSYM :: PREDICTED-SYMBOL

END(* PARSER ACTION ~)

4.4 THE GLOBAL SYNTACTIC ERROR RECOVERY STRATEGY~----"-""",----,~,~-,---,-,-~--,-,---.-_._,,,,-,

IN THE PREVIOUS CHAPTER THE ~ASIC MEANS OF ERROR RECOVERY HAVEBEE~ DISCUSSED. WE STILL NEED TO DESIGN A GENERAL PLAN ACCOR­DING wHICH ~E CAN DECIDE WHERE AND WHEN ~E SHOULD USE INSERTION,OElETION UR CORRECTION. A STRATEGY SIMILAR TO THE ONE USED IN THEPASCAL-pq COMPILER ~lLL BE USED.

THE STRATEGY USES TwO SETS wITH TERMINAL SYMBOLS ~S ELEMENTS:

- A SET OF BEGIN-SYMBOLS OF A SYNTACTIC CONSTRUCT.THE ELEMENTS ARE SYM80LS THAT ARE ALLOWABLE AS THE FIRST SYMBOLIN THE CONSTRUCT.

- A SET OF CONTINUATION SYMBOLS.THIS SET CONSISTS OF THE SYMBOLS THAT DIRECTLY CAN FOLLOW THECONSTRUCT, AUGMENTED wITH THE SET OF CONTINUATION SYMBOLS OFTHE EM~OOYING SYNTACTIC CONSTRUCT, IF PRESENT.

THE GLO&AL ERROR RECOVERY STRATEGY IS EXPRESSED BY THE FOLLOWINGGUIDELINES (RULES):

1. EVERY INDIVIDUAL PARSER-PROCEDURE WILL BE PROVIDED wITH APARAMETER OF A SET-TYPE. AT THE MOMENT OF CALL THE ACTUALPARAMETER INDICATES THE SET OF CONTINUATION SYMBOLS FOR THATPROCEDURE.

2. AT THE 8EGINNING OF EACH PARSER PROCEDURE A TEST IS MADEWHETHER THE CURRENT SYMBOL IS A CORRECT BEGIN-SYMBOL OF THATPARTICULAR PROCEDURE.IF SO, GO ON ~ITH THE PROCEDURE;IF NOT, SKIP SOME SY~BOLS UNTIL A SYMOOL THAT BELONGS TO THEBEGIN-SYMBOLS OR CONTINUATION SYMBOLS OF THE PROCEDURE HAS BEENFOUND. IF THE SYMBOL IS A CORRECT BEGIN-SYMBOL THEN WE STILLGO ON WITH THE PROCEDURE, OTHERWISE WE EXIT.

3. WITHIN THE PROCEDURE, ONE-CHARACTER-CORRECTION SHOULD BE PER­FORMED IN THOSE CASES WH~RE IT IS VERY URVIOUS THAT A "MINOR"ERRUR WAS MAD~, E.G. CORRECT A "(" TO AN EXPECTED "Cu.IF CORRECTION IS NOT POSSIBLE, INSERTION IS USED TO RECOVER.

4. AT THE EXIT OF THE PARSER PROCEDURE THE CU~RENT SyM80L ISTESTED w.HETHER IT IS A CORR~CT CONTINUATION SYM~OL.

IF NOT, WE SKIP UNTIL SUCH A Syr,1BOL IS FOlJND.

APPLYING THE ABOVE RECOVERY STRATEGY TO THE PROCEDURE THAT HANDLES

Page 36: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 32 ..-

THE SYNTAX OF "TYPE" wE GET~

PROCEDURE TYP(FSYM:SETOFSYM)fBEGIi\j

IF NOT (SYM IN SET-OF-TYPE-BEGIN-SYMBOLS) THENBEGIN ERRORClO);

SKI P (F S H1 +- SET -0 F-T YPE. --B EGIN -5 YMB0 L.S )END;

IF SYM IN SET-OF-TYPE-BEGIN-SYMBOLS THENBEGIN

IF SYM IN SET-OF-·SIMPLETYPE--8EGIN--SYMBOLS THENSfMPLETYPECFSYM)

ELSEIF SYM ~ ARRAYSYM THEN

dEGINGETSYM;IF SYM <> L8RACK (* "[II *) THEN

BEGIN ERROR (11);IF SYM ~ LPAREN C* "(" *) THEN SYM:=LBRACK

ENO;GETSYI"1;REPEAT

SIMPL.ETYPECFSYM ~ [COMMA,RBRACK,RPAREN,OFSYM]);TESTr~ SYM = COMMA;IF TEST THEN GETSYM;

UNTIL i\iOT TEST;IF S H1 < > RB RACK C. "]" *) THE N

BEGIN ERROR(12);IF SYM ~. RPAREN (* ") It *) THEN SYM:~RBRACK

END;GETSYM;IF SYM <> OFSYM THEN ERROR(8)ELSE GETSYM;SIMPLETYPE (FSY/4)

END; (* SYM = ARRAYSYM *lIF NOT (SYM IN FSYM) THEN

BEGIN ERROR(o); SKIPCFSYM) ENDEND

END; C. TYP *)

a.s SEMANTIC ERRORS

A VIOLATION AGAINST A SEr~ANTIC RULE WILL RESULT IN SEMANTIC ERROR.THE OCCURRENC~ OF A SEMANTIC ERROR DOES NOT EFFECT THE PARSING PRO­PRO CESS. TO AV0 IDS PUR IOU S ERR aRM ESSAG ES SO MET 1M ESOU M~1 Y VALIJ ES 0R"NIL" VALUES ~ILL BE ASSIGNED TO THE ATTRIBUTES.

4.& ERRUR REPORTING

ERRORS ARE REPORTED DIRECTLY IN THE LISTING OF AN OPL PROGRAM.THE ERRUR MESSAGES ARE COOED gy A NUMBER WHICH ~EFERS TO THEERROR NUMBER SUMMARY (APPENDIX A.l OF THE OPL USER MANuAL).

A FEATURE THAT COULD BE ADDED TO THE TRANSLATOR IN THE FUTURE

Page 37: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 33 .-

IS TO SUPPLY THE OESCRIPTION OF THE CODES OF THE ERRORS THATOCCURRED IN THE PROGRAM AT THE END OF THE SOURCE LISTING.

AN EXAMPLE OF THE WAY THE OPL-TRANSLATOR REPORTS COMPILE-TIMEERRURS CAN BE FOUNO IN APPENDIX A OF THE OPL USER ~ANUAL.

~IALIOGR~PHICAL NOTES:..__ ... - ..... - _...... ----,-...__... - ....

A PRACTICAL TREATMENT ON ERROR RECOVERY CAN BE FOUND INREFERENCES 18, 2&, 31 AND 48. IN REFERENCE 3Q THE qESULTSOF A SMALL EXPERIMENT ON THE KIND OF ERRURS ANO THE FREQUENCY OFTHEIR OCCUR~ENCE ARE PRESENTED.

Page 38: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 34 -

s~ THE OPL-CODE PROCESSOR- ....-------,-..'--,- -_._---.-._~

THE OPL-COOE PROCESSOR IS A PROGRAM THAT EXECUTES THE CODE THATIS GENERATED BY THE OPL TR~NSLATOR. THE PROCESSOR WILL HAVE THREE"INTERFACES", ONE TOWARDS THE SIMULATOR, ONE TOWARDS THE TRANSLATORAND ONE TOWARDS THE OUTPUT-DEVICE, A LINE-PRINTER.

THE SIMULATOR-INTERFACE IS A SEQUENTIAL FILE THAT CONTAINS A LISTOf SIGNAL~AMES WITH ~N INTEGER NUMBER-CODE, AND THE SIMULATION OUT­PUT DAT~, WHICH IS ASSUMED TO 8E AVAILABLE IN THE FOLLOWING FORMAT:

TIMESLOTNUM~ER OF SIGNALS THAT CHANGEDSlGNALCODENEW VALUESIGNALCODENEW VALUE

.'..•

iIMESLOTNUMgER OF SIGNAL THAT CHANGED

.'••

THE TRANSLATOR INTERFACE IS THE FILE "OBJFILE" WHICH CONTAINS THECODE INSTRUCTIONS AND THE NAMES (IDENTIFIERS) OF THE SIGNALS THAT ~ERE

USED IN THE TRA~SLATED OPL-PROGRAM.THE LINEPRINTER INTERFACE· IS THE STANDARD PASCAL OUTPUTFILE "OUTPUT".

THE OPL PROCESSOR ARCHITECTURE CAN BE EXPRESSED 6Y MEANS OF PASCALTYPE DEFINITIONS AND VARIABLE DECLARATIONS. THE INSTRUCTION HANDLINGAND EXECUTION IS EXPRESSED BY PASCAL PROCEDURES.

- ALL DATA HANDLED IS OF TYPE INTEGER. THIS MEANS THAT INSTRUC­TIONS CODES, ADDRESSES OF VARIABLES, CONSTANTS, LA8ELS, ETC.~ILL ALL BE REPRESENTED BY INTEGER NUMBERS.

- THE PROCESSOR HAS ONE MAIN DATA ~EMORY "STORE", IMPLEMENTED AS ANARRAY OF INTEGERS:

STORE : ARRAY [ O•• MAXADDR ] OF INTEGER;

THIS WILL BE USED TO:

- STORE VALUES OF USER-DECLARED VARIA8LES.- STORE VALUES OF SIGNALS REFERRED TO IN THE uPL PROGRAM.- SAVE TE~PORARY VALUES, E.G. IN EXPRESSION EVALUATION.

THE MEMORY MAP OF "STORE" IS DEPICTED IN FIGURE 2.THERE ARE TWO "REGISTERS", IMPLEMENTED AS INTEGER VARIABLES, THATPOINT TO SPECIFIC "STORE" ADDRESSES:

- "TEMPBASE" FORMS THE BASE ADDRESS FOR SOME TEMPORARY

Page 39: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

VARIABLES.

- WTOP" POINTS TO THE TOP OF THE STACK.

TO BE ABLE TO DETECT CHANGES IN THE VALUES OF SIGNALS AND PERMA­NENT VARLABLES, THESE VARIABLES ARE ALLOCATED 2 MEMORY LOCATIONS.TrlE EVEN ADDRESSES CONTAIN THE VALUES AT THE CURRENT TIMESLOT,THE 000 ONES CONTAIN THE VALUES AT THE PREVIOUS TIMESLOT.

- THERE AR~ SOME SMALL MEMORY PARTS THAT ARE USED ro STORE SPECI­FIC PROCESSING INFORMATION, E.G~

- A SIMULATION TABLE THAT CONTAINS THE NAMES OF THE SIGNALS(IDENTIFIERS) TOGETHER ~ITH THEIR SIGNALCODE.

SIMTABLE : ARRAY ( O•• MAXSIGNALS ) OFRECORD

SIGNAME : ALFA;SIGCODE : O•• MAXSIGNALS

END

- A SIGNAL-IN-USE TABLE THAT INDICATES THE SUBSET OF SIGNALSUSED IN AN OPL-PROGRAM

SIGINUSE : ARRAY[ O•• MAXSIGNALS ] OF BOOLEAN;(. "TRUE" DENOTES SIGNAL IS IN USE .)

- A SIGNAL TABLE THAT MAPS THE SIGNALCOOES OF THE SIGNALS-IN-USEONTO AOORESSES IN "STOREM.

SIGNALTAt3LE : ARRAY( O•• MAXSIGNALS ] OFRECORD

NAMEINOEX : O•• MAXSIGNALS;SIGADDR : O•• MAXADDR

END

- THE PERMANENT VARIABLE TABLE, INDICATING ADDRESSES OF PER­MANENT VARIABLES AND THE ADDRESSES IN CODE MEMORY WHERETHE ASSOCIATEO PERMANENT ASSIGNMENT-COOE CAN BE FOUND.

USINGVAR : ARRAY ( 1 •• MAXPERMVAR ] OFRECORD

BEGINADOR : O•• MAXADDR;EXPRADDR : O•• MAXCOOE;CASE KIND : VARKIND OF

SCALAR: ();AR~AYS (LENGTH O•• MAXADOR);VECTOR: (LEN,

STRIDE O•• MAXADDR)END

Page 40: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 30' _.

S~1 PROCESSING PROCEOURES-'.-.-.-..........--_..._.------...- ...

THE PROCESSOR PERFORMS A NUMBER OF ACTIOI~S, DESCRIBED BY CERTAINPROCESSING PROCEDURES, CONTROLLED BY THE CODE TH~T IS SUPPLIED 8Y THETRANSLA fOR.

THE PROCESSING PROCEDU~ES ARE DESCRIBED IN THE FOLLOWING LIST.THE NUMBER~ INDICATE THE ORDER IN WHICH THE ACTIONS ARE PERFORMED.

o. INITIALIZING ACTIONS:

0.1 LOAD THE CODE FROM THE FILE ~08JFILE" INTO THE CODE MEMO~Y.

FUR THIS THE PROCEDURE "LOADCODE" WAS MADE.

0.2 READ FROM THE SIMULATION OUTPUT FILE THE N~MES OF THE SIGNALSAND THEIR ASSOCIATED NUMBER-CODE, AND STORE THIS INFORMATIONIN THE TABLE "SIMTABLE".AT THE SAME TIME INFORMATION IN THE ~SIGNALTABLE" IS STOREDIN ORDER TO CROSS-REFERENCE SIGNALNAMES AND SIGNALCOOES.FOR INSTANCE THE NAME OF A SIGNAL wITH SIGNALCODE "I" IS,SIMTABLE (SIGNALTABLE (I] .NAMEINDEX] 1 .SIGNAME.THIS IS TAKEN CARE OF BY THE PROCEDURE nSETUPSIMSIGNALTA8LE~.

0.3 CHECK WETHER THE SIGNALS THAT AHE REFERRED TO ~rTHIN THEOPL-PROGRAM INUEED EXIST IN THE SIMULATION OUTPUT FILE.THE NAMES OF THE SIGNALS ARE LISTED AT THE END OF THE CODEFILE. ONE BY ONE THEY ARE CHECKED AGAINST THE SIGNALNAMESALQEAOY STORED IN "SIMTABLE".THE PROCEDURE "CHECKSIGNALS" THAT TAKES CARE OF THIS ALSO SETSUP THE TABLE "SIGINUSE" AND FILLS IN THE ADDRESS INFOR~ATION

OF THE SIGNALS IN "SIGNALTA6LE".

o.a THE VARIABLE "TIME" IS INITIALIZED AT THE FIRST TIMESLOTOF THE SIMULATION DATA BY CALLING THE PROCEDURE "NEXTEVENT".

0.5 THE PROCEDURE "UPDATESIGNALTA8LE" UPDATES THE SIGNALS IN USE,I.E. THE VALUES OF THESE SIGNALS, SUPPLIED HY THE SIMULATIONOUTPUT FILE, ARE STORED AT THE PROPER SIGNAL ADDRESSES IN"STORE".

0.& THE PROCEDURE "SAVESIGNALS" COPIES THE "NEWVALUES" (EVE~ ADDRES­SES IN "STORE") OF THE SIGNALS IN USE TO THE "OLDVALUES" (000ADDRESSES IN "STORE").

0.7 CONTROL IS TRANSFERRED TO THE INTERPRETER PROCEDURE (CHAP. 5.2).THE INTERPRETER STARTS EXECUTING INSTRUCTION 1, THE "ENT"INSTRUCTION.CONTRUL WILL BE TRANSFERRED BACK TO THE PROCESSOR BY THE "HLT"INST~UCTION THAT IMM£DIATELY FOLLOWS THE CODE OF THE PERMA­NENT VARIABLE LIST OF THE OURING STATE~ENT.

o.~ THE P~OCEDURE "UPOATEPERMVARN CALCULATES THE VALUES OF THE PER­MANENT VARIA~LES. THE INTERPRETER IS CALLED TO EXECUTE THE PER­MANENT ASSIGNMENTS (STARTING AT "EXPR.ADDRESS" IN CODE).

Page 41: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 37 ...

o.q THE PROCEDURE IfSAVEPERMVAR" COPIES THE NEwVALUES OF THE PERMA­NENT V~RrA8LES TO THE ADDRESSES THAT CONTAIN THE OLDVALUeS~

1. EXECUTE THE COOE OF A HEADING STATEMENT.

2. EXECUTE THE COOE OF A DURING STATEMENT.

3. IF THERE ARE MORE HEADING AND/OR DURING STATEMENTS THEN GOTO 1.

BECAUSE THE HEAOING STATEMENT HAS NOT YET BEEN IMPLEMENTED, WE ~ILL

ONLY OISCUSS THE ACTION OF THE PROCESSOR WHEN EXECUTING A DURINGSTt-TEMENT:

2. DURING STATEMENT

2.1 IF THIS DURING STATEMENT IS NOT THE FIRST ONE, THEN RESETTHE SIMULATION FILE TO THE FIRST TIMESLOT AND GO ONCE MORETHRU STEPS ~ TILL q OF THE INITIALIZING ACTIONS.

2.2 CALL "NEXTEVENT" ( "TIME" IS SET TO THE NEXT TIMESLOT l.

2.3 CHECK ~HETHER THE START TEST OF THE DURING STATEMENT HAS BEENSATISFIED, IF NOT GO ON WITH 2.2.

2.4 CALL "UPOATESINALTABLE~.

2.5 CALL "UPDATEPERMVAR".

2.6 CALL THE INTERPRETER, STARTING AT THE CODE GENERATED BY THEPROCESS BLOCK OF THE DURING STATEMENT.

2.7 CHECK THE STOP TEST OF THE DURING STATE~ENT.

2.8 CALL "SAVESIGNALS".

2.9 CALL ~SAVEPERMVAR".

2.10 CALL "NEXTEVENT'f.

2.11 IF THE STOP TEST HAS BEEN SATISFIED THEN GO TO 3 ELSE GO TO 4.

DETAILS ABOUT THE PROCESSING PROCEDURES CAN BE FOUND IN THEPROCESSO~-PROGRAM LISTING.

5.2 THE INTERPRETER

HANDLING OF THE CODE INSTRUCTIONS IS DONE BY THE PROCEDURE"INTERPRETER". THE TASK OF THE INTERPRETER IS,

TO FETCH AN INSTRUCTION-CODE FROM THE CODE MEMORY,ANALYSE IT,FETCH THE PARAMETERS IF THERE ARE ANY,EXECUTE THE INSTRUCTION.

Page 42: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

....

38 -

~S LONG AS THE INTERPRETER IS NOT EXPLICITLY (ay A "STP" OR "HLT"INSTRUCTION) OR I~PLrCITLY (U~ON THE OCCUH~ENCE OF A FATAL ERROR) TOLDTO STOP, IT WILL REPEAT THE ABOVE MENTIONED ACTIUNS CONTINUOUSLY.THE BODY OF THE INTERPRETER PROCEDURE SIMPLY LOOKS LIKE:(AS AN EXAMPLE THE INST~UCTION ~INC" IS DESCRIBED IN.OETAIL)

HALT:=FALSE;WHILE NOT HALT DO

BEGINFETC~(rNSTRUCTION-CODE)~

CASE INSTRUCTION OF1 :2: •••.3:

19: (* INC *)BEGIN

FETCH(PARAMETER)STORE (TOP) :=STORE [TOP] +. PARAMETER

END;•••

END ,,~ CASE 11')

END (* WHILE "Il)

FURTHER DETAILS CAN BE FOUND IN THE PROCESSOR PROGRAM LISTING.

Page 43: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

b. FUTURE DEVELUPMENTS

A NUMBER OF LANGUAGE CONSTRUCTS STILL NEED TO BE IMPLEMENTED~

FOR MANY OF THESE CONSTRUCTS SYNTACTICAL ANALYSIS HAS ALREADY BEENINCLUDED, SUT THEIR SEMANTIC ANALYSIS STILL HAS TO BE INCORPORATEDINTO THE OPL TRANSLATOR~

THE INTERFACE TOWARDS A SIMULATOR PROGRAM HAS TO BE MADE. IT SHOULDBE MADE POSSIBLE TO SAVE THE SIMULATOR OUTPUT IN A (DISK-) FILE.

THE PURPOSE OF THIS CHAPTER IS TO GIVE A CONCISE LIST OF THE UN­FINISHED LANGUAGE CUNSTRUCTS AND TO SUPPLY HINTS AND THOUGHTS ABOUTIMPLEMENTING THEM TO FUTURE IMPLEMENTORS.

- TABLES

A) TABLE DEFINITION.CODE SHOULD BE PRODUCED THAT MAPS THE TABLE ONTO AN AREA IN THECODE MEMORY. A SIMPLE APPROACH IS DEPICTED IN THE NEXT FIGURE:

+~----_._._-----~-_._+

BEGIN OF THE TABLE --> ~ ENTRY CONSTANT

+------~----------+~ RESULT CONSTANT l+.__._-_._---_.__._-_._-+.1 ENTRY CONSTANT+~_._~._---~-_._'_._--~+

1

•••,•

••

TABLE LENGTH

RESULT OF OTHERWISE -->+-----------------+

CONSTANT 1

+-------~----~----+

CODE MEMORY

v

THE "SIZE" OF THE CONSTANTS IN CODE IS DETERMINED BY THE TYPE­ATTRIBUTES OF THE TABLE IDENTIFIER.

IF wE TAKE CARE OF ORDERING THE ENTRY CONSTANTS, THEN ATABLE LOOK-UP CAN BE PERFORMED IN AN EFFICIENT WAY BY A 8INARYSEARCH.

B) TABLE REFERENCING.THE ACTUAL VALUE OF THE TABLE PARAMETER IS ASSUMED TO BE ONSTACK. A SPECIAL INSTRUCTION, SAY "TBL», INDICATES THAT A TABLESEARCH HAS TO BE MADE. THE PARAMETERS OF THIS INSTUCTION SUPPLYTHE CODE ADDRESS OF THE TA~LE, ThE LENGTHS OF ENTRY AND RESULTCUNSTANTS ANO THE LENGTH OF THE TABLE. THE ~ESULT OF THE TABLELOOK-UP IS PUT ON STACK.

Page 44: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

- 40 _.

DURING ST~TEMENT~~--_ ......._-,....--_.~_._,SO FAR THE "ALL" OPTION OF THE "TIME-INTERVAL SPECIFICATION" HAS~EEN IMPLEMENTED. THE END-Of-FILE MARKER Of THE SIMULATION OUT­PUT fILE WAS USED IN THE USTOP" TEST.

FOR T~E OTHER OPTIONS CODE HAS TO 8E GENEHATED THAT DESCRIBESTHE "START" AND "STOP~ CONDITIONS~

- "ORRING" OF TRANSITION EXPRESSIONS...~.....-~.....-,-_.---_._-_._...._-,_.~ ....'.-- -~_ ..._'....

PERHAPS THE CODE GENERATION PATTERN OF THE "CAUSE" SHOULD BE RE­VIEwED TO ENAeLE AN EFFICIENT IMPLEMENTATION OF "ORRED" TRANSITIONEXPRESSIONS.

- HEADING STATEMENTS

THE HEADING TEXT AND THE SIGNALLIST CAN BEST BE STORED IN THE CODEMEMORY. IN THE PROCESSOR A COUNTER VARIABLE SHOULD ~EEP TRACK OFTHE NUMBER OF LINES PRINTED ON THE CURRENT PAGE.

- ADMIT THE USE OF VECTOR VARIABLES IN A CAUSE~--_._,~--------------------_._----~----_.~~-----

- EXTENSION OF THE VALUE RANGE IN CAUSES

THE USE OF JUST ONE CONSTANT IN THE VALUE RANGE HAS BEEN IMPLEMEN­TED. AN EXTENSION TO A "CONSTANT VALUE LIST" AND A "CON9TANT VALUE5U8RANGE" IS REQUIRED.

- RELATIONAL OPERATORS

THE POSSIBILITY TO PERFORM RELATIONAL OPERATIONS UPON VECTOROPERANDS STILL NEEDS TO 8E IMPLEMENTED.

- STANDARD FUNCTIONS/PROCEDURES

----~-~--------------~-------

PERHAPS IT MIGHT BE NEEDED THE INCORPORATE SOME ADDITIONAL STANDARDFUNCTIONS AND PROCEDURES, LIKE A SHIFT PROCEDURE THAT SHIFTS THEELEMENTS OF A VECTUR OVER A CERTAIN NUMBER OF PLACES IN A CE~TAIN

DIRECTION, REDUCTION FUNCTIONS THAT APPLY A LOGICAL OPERATOR TOALL THE ELEMENTS OF A VECTOR AND THUS LEAD TO A SCALAR RESULT.UNE MIGHT ALSO THINK OF STANDARD TABLES, E.G. A TABLE THAT CON­VERTS A LOGICAL VECTOR INTO A CHARACTER ACCORDING TO A CERTAINCHARACTER SET.

Page 45: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN 0 I X A FIG U R E----_._._----------_._-.,..._--...-..--_..,._---------_._--_.__.------------.,._-_..._---

MEMORY MAP OF "CODE"

ADDRESS CON TE.NT S

't'"-_ _ -., --. - _ __._-- +

o ! LENGTH OF THE CODE, CP+.~.._~----_._---_...__._--,---~-~.

1 ! 69 (THE "ENT" INSTRUC.) l+.--'•._- _-- - •.__.•._--- •.• - - - - +

2 l TEMPBASE

3+-_._-'-,•._....._-,., - ---_._-_.--_._.• - •.• +! TEMPMAX+~-_.~-~-_._. __._~_._._~~_._---,--~ : AMOUNT OF TEMPORARY SPACE

! STACKMA;( ! = MAXIMUM STACK-SIZE NEEDED+-~-_._-,~-~~------------------+

5

•••,·

FIRST INSTRUCTION t·

••

+~-----~~._----------------+CP 1 9q (THE "STP" INSTRUC.) !

+-~._--- - -_._- --.,.,.• - - - - -- - --~ +

•••

••

MAXCQDE+-------------------------+

Page 46: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN 0 r x A FIG U R E 2-'-"~-"'''''---'-~--'-'-''----'---''''-'---''''-----'-'-'-'------,-_.__.-..._-_._-----.....---_._--~

MEMORY ~AP OF "STORE"

ADDRESS

o

1

CONTENTS

+~----~_._._-_._-,-_._-_._ ... _-'-_._-+

+_.......__.- ----_.•.- -_....._-_ ... -- ... -- .... - +

USER-DECLARED VARIABLES

+

SIGNALSI·•••

••

TEMPl:lASE+_._-_._,-----_._~--_._------_ ..+

+ .---- -- _ •._- -- -- ... - ... --_ ... -_.--- .,+

123

•••

TEMPORARY

VARIABLES •

+... _--------------_._._------+FIRST STACK ELEMENT ,·+-_ ...._---------------------+

S T A C K1

••• v

•••

MAXADDR+- ... -- .. --------------------++-------------------------+

Page 47: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN D I x A FIG U R E 3........--_.---~-- .....--,- ...' ....-_.•._-....._-_.- .-.....-_.-- ....,.'•.•._---.,---_..-- --_._.._--_..-'... _.

LAY-OUT OF A 3-0IMENSIONAL ARRAY IN "STORE"

INDEX

VAR

••

ARR ..' ARRAY [0 ••.2, 1 •.• 2,

••

-1 •.•,1 ) OF INTEGER

0,1,-1

0, 1, 0

0, 1, 1

0,2,-1

0,2, 0

0,2, 1

1,1,-1

1 , 1 , 0

1 , 1 , 1

1,2,-1

1,2, 0

1 ,2, 1

2,1,-1

2, 1 0

2, 1, 1

2,2,-1

2,2, 0

2,2, 1

~-,_._-_.__._---_._-_._-_._-----_.++ •..--_--_.•.- •.•._--,.'.'---,---_._- ....

+ ...--~--~_._-~-------------_.+

+--_._-_._----.._------------_.++.--_-~--~~---------~-_._---_.+-

+--~-----------~---.-------_.~

+~- ...._-,------_._------------++----~---------_._-----~_._-+

+ - ------ - - -_.• - - .'.--- _ .. - - ......-+

+------_._-----------------++-------------------------+~----~-,-_._----------------+

+-------------------------+I·+---------------------~~--+

+-------------------------++-~--------~------------~-+

+-~-------------------~---+

+--~----------------------+

+-------------------------+t·

Page 48: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN 0 I )( B REF E ~ ENe E s--------_.__.__....._--,_ ...._--_._,_._--_._---_._--_.....__....-._.-_._--_._----_._,_._-_.- ....- ...

1. AHO,A.VwIJOHNSONFS.C~

LR PAfofSINGCOMPur~ SURVEYS b(2),~9-124

JUNE197q·

2~ ~HOF~.Vw/ULLMAN,J.D.

PRINCIPLES OF COMPILER DESIGNADO I SON-~E SLE Y1977

3. ALBLAS,H~/ETwAL.

VE: RTALE R8 OUi'JACADEi"1IC SERVICE197'7

~~ AlAGIC,S~/AR8IB,M.A.

THE DESIGN OF WELL-STRUcTURED AND CORRECT PROGRAMSSPRINGER-VERLAG1978

5. AMMANN,U.THe METHOD OF STRUCTURED PROGRAMMING APPLIED TO THEDEVeLOPMENT OF A COMPILERPROC. INTERNATIONAL COMPUTING SYMPOSIUM1973

6. AMMANN,U.ON CODE GENERATION IN A PASCAL COMPILERSOFTWARE-PRACTICE AND EXPERIENCE, VOL.7, 391-4231977

7. BERRy,R.E ..EXPERIENCE WITH THE PASCAL COMPILERSOFTWARE-PRACTICE AND EXPERIENCE, VOL.5, NO.5, 617-0271978

8. ~KEUER,M.A./EDITOR

DIGITAL SYSTEM DESIGN AUTOMATION:LANGUAGES, SIMULATION & DATA BASEPITMAN1975

9. 8REUER,M.A./FRIEDMAN,A.D.DIAGNOSIS & RELIABLE DESIGN OF DIGITAL SYSTEMSPIP'tAN1976

10. CALINGAERT,P.ASSEMoLERS, COMPILERS AND PROGRAM TRANSLATIONPITMAN1979

Page 49: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN D I x B CON TIN U E 0..----->_...-..._......._._._-,----~. __._-'.._._...-_._--_._._._._.__.-_._--------,- ......--- _._.- -_._-,

11. CHATELIN,p./WrLLIS,~.

A METHOD FOR DEFINING AND IMPLEMENTING PL/lPROC. INTERNATIUNAL COMPUTING SYMPOSIUM1973

12. COPLANER,H.O./JANHU,J.A.TOP-DO~N APPROACH TO LSI SYSTEM DESIGNCOMPUTER DESIGN, VOL.13, NO.8, 1Q3-148AUGUSTlq74

13 •.DESIGN MANUAL NL •.LSI SHOP

14. DIJKSTRA,E.~.

A CONSTRUCTIVE APPROACH TO THE PROBLEM OF PROGRAM CORRECTNESSBIT 8, 174-18&196d

15. DRONGOWSKI,P.J.C~PA6ILITY REQUIREMENTS IN A MULTI-MICRO PROCESSOR,HAROWARE/SOFTWARE SIMULATION ENVIRONMENTPROC. DESIGN AUTOMATION AND MICROPROCESSO~S

1.977

16. GARDNER,R.I./WEIL,P.B.HIERARCHICAL MODELING AND SIMULATION IN VISTADESIGN AUTOMATION CONFERENCE1979

17. GI~M8IASI,N./MIARI,A./MURIACH,D.

SILOG: A PRACTICAL TOOL FOR LARGE DIGITAL NETWORK SIMULATIONDESIGN AUTUMATION CONFERENCE, 263-2711979

18. GRAHAM,S.L./RHODES,S.P.PRACTICAL SYNTACTIC ERROR RECOVERYCO/"IM. ACM, VOL.18, NO.l1, 63g-650NOVEM8ER1q7 5

19. HANSEN,P.B.OPERATING SYSTEM PRINCIPLESPRt: f>,J TIC E- HAL L1'973

Page 50: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A p. PEN 0 I )( B CON TIN U E D..--_._._-_.....-._-,--,----..-....-.....-------_.•._-,_...------ --_.---_._----~--..---,---.-.-.--..

20. HILL,D~D./VANCLEEMPUT,W•.SABLE: A TOOL FOR GENERATING STRUCTURED MULTI-LEVEL

SIMULATIUNSDESIGN AUTOM~TIUN CONFERENCE19·79

2 1 •. HILL, 0 •.0 •AOLIB: A MODULAR, STRONGLY-·TYPED COi~PUTER DESIGN LANGUAGEPROC. 4TH INTERNATIONAL SYMPOSIUM ON CO~PUTER HARDWAREDESCRIPTION LANGUAGESOCTOBER1979

22. HOROWITZ,E./SAHNI,S.FUNDAMENTALS OF DATASTRUCTURESPI H'1A N1977

23.IBM PASCAL/VS LANGUAGE REFERENCE MANUAL, FIRST EDITION

JUNE1980

24. JENSEN,K./WIRTH,N.PASCAL USER MANUAL ·AND REPORTSPRINGER-VERLAG1975

25. KNUTH,D.E.TOP-OOWN SYNTAX ANALYSISACT A I NFOR MAT I CAl, NO.2, 7 9 --11 01971

26. KRUSEMAN ARETZ,F.E.J./ET.AL.SATHE: SOME ASPECTS OF AN ALGOL IMPLEMENTATIONSOFTWARE-PRACTICE AND EXPERIENCE, VOL.IO, NO.7, 563-573JULY1980

27. LUN6ECK,R.J./REMMEN,F.BESTANQSORGANISATIEACADEMIC SERVICE1977

28. MACHURA,M.IMPLEMENTATION OF A SPECIAL-PURPOSE LANGUAGE USINGPASCAL IMPLEMENTATION METHODOLOGYSOFTWARE-PRACTICE ANO EXPERIENCE, VUL.9, NO.1l, 931-9451979

Page 51: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN f) I X CON TIN U E D----_._,-_._--------,-_...'-,-------_.......---_._--_._.- ...... ...-..._.._._._---- ...._-_._-,-----

29~ NAUR,P~/EDITOR

REVISED REPORT ON THE ALGORITHMIC LANGUAGE ALGOL 60NUMERISCHE MATHEMATIK 4, 420-4531. 90·3

~O~ NORI,K~V~/AMMANN,U./NAEGELr,H~H~/JENSEN,K./JACOBI,CH.

THE PASCAL <P> COMPILER IM~LEMENTATION NOTESREVISED EDITIONINSTITUT FUER rNFORM~TIK

EIDGENOESS!SCHE TECHNISCHE HOCHSCHULE, ZUERICHJULY1976

31. PAI,A.B •. /KIEBURTZ,R.B.GLOBAL CONTEXT RECOVERY: A NEW STRATEGY FOR SYNTACTIC ERRORRECOVERy BY TABLE DRIVEN PARSERSACM TRANS. ON PROGRAMMING LANGUAGES AND SYSTEMS, VOL.2, NO.1JANUARY1980

32. PERROTT,R.H.A LANGUAGE FOR ARRAY AND VECTOR PROCESSORSACM TRANS. ON PROGRAMMING LANGUAGES AND SYSTEMS, VOL.l, NO.2,177-195OCTOBER1q7q

33.PHILSIM USER MANUAL

34. PUGH,J./SIMPSON,D.PASCAL ERRORS - EMPIRICAL EVIDENCECOMPUTER BULLETINMARCH1979

35. SETZER,V.W.NON RECURSIVE TOP-DOWN SYNTAX ANALYSISSUFTWARE-PRACTICE AND EXPERIENCE, VOL.9, NO.3, 237-2451979

36. SZYGENDA,S.A.TEGAS2- ANATOMY OF A GENERAL PURPOSE TEST GENERATION ANDSIMULATION SYSTEM FOR DIGITAL LOGICPROC. OF THE 1972 DESIGN AUTOMATION ~URKSHOP, 116-127JULY1972

Page 52: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

APPENorx CON T r N U E 0.........__ __-..__ __....-_.-. ~411<.._ _ _ _. •__ r _'_._' ,_._,_-..._,_ __.' ,,.._..

J1. TANENBAUM,A.S.IMPLICATIONS OF STRUCTURED PROGRAMMINGFO~ M~CHINE ARCHITECTURECOMM. ACM, VOL.21, NO.2, 237-246M:ARCH197!:S

38 •.TEGAS3 USER REFERENCE MANUAL

39~ WELSH,J./QUINN,C,A PASCAL COMPILER FOR THE ICL 1900 SERIES COMPUTERSSOFTWARE-PRACTICE A.ND EXPERIENCE, VOL.2, NO.1, 73--771q7-2

40. WELSH,J./SNEERINGER,W~J./HOARE,C.A.R

AMBIGUTTIES AND INSECURITIES IN PASCALSOFTWARE-PRACTICE AND EXPERIENCE, VOL.7, 685-6961977

41. WELSH,J./ELDER,J.INTRODUCTION TO PASCALPRENTICE-HALL1979

42. WELSH,J./MCKEAG,M.STRUCTURED SYSTEM PROGRAMMINGPRENTICE-HALL1980

43. WICKHAM,K.PASCAL IS A 'NATURAL'IEEE SPEC TRlH1MARCH1979

44. WILLIAMS,M.J.Y./MCGUFFIN,R.W.A HIGH LEVEL LOGIC DESIGN SYSTEMPROC. 4TH INTERNATIONAL SYMPOSIUM ON COMPUTER HARDWAREDESCRIPTION LANGUAGESOCTOBER1979

~s. WIRTH,N.THE PROGRAMMING LANGUAGE PASCALACTA INFORMATICA 11971

Page 53: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A p. PEN 0 I x CON TIN U E D---------,-------_.........._....~._._--_ .......----,--_...- ..........--,-,-'--- _.- ..._.---_.---... _,

40. WlR TH , N.THE DESIGN OF A PASCAL COMPILERSOFTWARE-PRACTICE AND EXPERIENCE, VOL.l, NO.4, 309-3331971

4·T • Wr RrH , N.AN ASSESSMENT OF THE PROGRAMMING LANGUAGE PASCALI EEE TRA'" S. 0 N SO FTWA RE ENG IN EERI NG, VOL. SE--1, NO.o 2JUNE.1975

48. WIRTH,N.ALGORITHMS T DATA STRUCTURES = PROGRAMSPRENT ICE·'HALL19·7 o·

a9. WIRTH,N.PROGRAM DEVELOPMENT BY STEPwISE REFINEMENTCQMM. ACM, VOL.lll, NO.4, 221-2271971

50. WIRTH,N.ON THE COMPOSITION OF WELL-STRUCTURED PROGRAMSCOMPUTING SURVEYS, 0, NO.q, 2ll7-2591971.&

51. WIRTH,N.FROM PROGRAMMING TECHNIQUES TO PROGRA~MrNG METHOOSPROC. INTERNATIONAL COMPUTING SYMPOSIUM1973

Page 54: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P P E- N D I X c r N S T R U C T rON SET__........~.__, t .....'_... ._. • "_,__, ..... _ .. _ .....__..... ••.••' ..' ._._.

CODE 1 MNEMONIC 1 PARAMETERS ! DESCRIPTION•.__.....-+._,.........- ....- ..--_.__._-_.__._---_.__.+.•._-------~---_._---'-_._-_._-_._->-_._-----_..

10q

1 1 l12.13 166

14

00

S9 I

6315161718

7369

46473802

7180£1,442 16419

12

2021017577

345

ADDADD2AOOVANDANDVARR

BUS

CHK

CHKV

CSPDECOIVDIVVDOM

DURENT

EGlLEQLVEQUETS

FJPFROGEQGRTHLTINCINDINDVlORIORVIXAJNTJNOlLAOLDCLOCV

LOO

1 0~ 0

l:LENGTHo1:LENGTH3:EXPR.ADDRESS,

VAR.ADORESS,LENGTH

o

2:MIN.80UNU,1'-1 AX ••SOUND

3: "1I r~ .80UNO,MAX.BOUND,LENGTH

1 1:KEY1 l:DECREMENT

ol:LENGTHo

1:LABEL~ 3:TEMP8ASE,!' TEMPMAX,

STACKMAXo

1 1:LENGTHo

! l:LENGTH!1 1:LA8£L

1:CONSTANTooo1:INCREMENT()

2:LENGTH,STRIDEo1:LENGTH1:2*STRIDEl:LABEL1:LA8E:L1:AODRESS1:CONSTANTLEi'iGTH + 1:

LENGTH,VECTUR ELEi"1ENTS1:ADDRESS

INTEGER ADDITIONMULTIPLY 8r 2 AND ADOINTEGER VECTOR ADDITTONLOGICAL ANO

! LOGICAL VECTOR ANDSPECIFY ~ERMANENT ARRAY-VARIABLE

INTERCHANGE OPERANDS ON STACK ANDSUBTRACT

, C~ECK AGAINST LOWER AND UPPER BOUND

CHECK VECTOR ELEMENTS

CALL STANDARD PROCEDURE I FUNCTIONDECRE~'ENT

INTEGER DIVISIONINTEGER VECTOR DIVISIONINTERCHANGE OPERANOS ON STACK ANDMODULOINDICATE START UF DURING STATEMENTENTER PROGRAM

LOGICAL EQUIVALENCELOGICAL VECTOR EQUIVALENCECOMPARE ON EQUALEXPAND OPERAND ON STACK FROM SCALAR

! TO VECTORJUMP IF TOP OF STACK IS FALSEINDICATES "FROM" VALUERANGE

1 COMPARE ON GREATER THAN OR EQUALCOMPARE ON GREATER THANHALT EXECUTIONINCREMF.NTINDEXED FETCHINDEXED VECTOR FETCHLOGICAL INCLUSIVE ORLOGICAL VECTOR INCLUSIVE ORCOMPUTE INDEXED ADDRESSJUMP IF NO TRANSITIONJUMP IF NO "FALSE->TRUE" TRANSITIONLOAD ADDRESSLOAD SCALAR CONSTANTLOAD VECTOR CONSTANT

LOAD CONTENTS OF ADDRESS

Page 55: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN· 0 I x c CON T r N U E D........._...- ---- -'-. ...---------' ...----_..'--,-_....._--_.- -'..__._,_._-_._--_....-._------_.-

CODE 1 MNEMONIC 1 PAR~METERS i DESCRIPTION...- ..........+-,_...__._----+--,--_..._---_...._._-_._+.__._---- ----_._-_._- _._._.- _._----- -_._.....- - - _._.

7 1 LDOV 3~LENGTH,AOORESS' LOAD VECTORl. STR lDE

t.'

COMPARE ON LESS THANCOMPARE ON LESS THAN OR EQUALINDICATES SOURCE LINE NUMBERLOAD CONTENTS OF RELATIVE ADDRESSMODULOVECTOR MODULOCOpy MEMORY TO MEMORY, ADDRESSESARE ON STACK

COpy MEMORY TO MEMORY, ADDRESSESARE PARAMETERS

SlORE INDIRECTSTORE VECTOR INDIRECTSTOP EXECUTIONSTORE AT RELATIVE ADDRESSSTORE AT ADDRESS (STORE DIRECT)STORE VECTOR DIRECT

INTERCHANGE OPERANDS ON STACK ANDDIVIDELOGICAL EXCLUSIVE ORLOGICAL VECTOR EXCLUSIVE OR

l

l

INTEGER MULTIPLICATIONINTEGER VECTOR MULTIPLICATIONINTEGER SIGN INVERSIONINTEGER VECTOR SIGN INVERSION

! COMPARE ON NOT EQUALLOGICAL NOTLOGICAL VECTOR NOT

I SPECIFY PERMANENT SCALAR-VARIABLE

! INTEGER SUBTRACTIONVECTOR SUBTRACTIONINDICATES "Ton VALUERANGEUNCONDITIONAL JUMPINOICATES START OF A LIST OFPERMANENT VARIABLESSPECIFY PERMANENT VECTOR-VARIABLE

o

4:EXPR.ADDRESS,I VAR.AODRESS,

LENGTH,STRIDE

1 0l. 0

1 ::LINEMUMBERl:AODRESSo1 =-lENGTH3:LENGTH,

STRIDE1,STRIOE2

1 3:LENGTH,ADORESS1,AOORESS2

o! l:LI:::NGTH

o1: LENGTHo

1. 1: LENGTHo

i 0l:LENGTH2 :EXPR •.ADDRESS,

VAR.AOORESSo

! 2:LENGTH,STRIDEol:ADORESS

! l:AODRESS2:ADDRESS,

! LENGTHi 0

l:LENGTH! l:CONSTANT

l:LABEL! 0

VEC

MOVO

VII)

SUBSUBVTOUJ?USE

MULMLJLVNEGNEGVNEQNOTNOTVSCA

XQRXORV

STOSTOVSTPSTRSROSROV

LESLEQLINLODMOOivlOOVMQV

67

32

34 t

3688

13222394

242S2627402829 '6'5

4849

30318172b8

Page 56: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

A P PEN D I x C CON T r N U E D_.-...._._. ~_,_. . .__.....__..~ ._._-.a _. ~. ,

STANDARD FUNCTIONS AND PRUCEDURES

KEY 1 MNEMONIC 1 PARAMETERS 1 DESCRIPTION~-_.__.+._._--~-~-,~-+---------~--.---_._---~-------~_.----_._._-----_._~_._---_._. __.-

11 ENC l:LENGTH10 SIMT 0

1 WLN 02 WRC 03 'I'HlI 04 wRL 05 WRCS 1:LENGTHb WRlS l:LENGTH

12 , wKfS l:LENGTH7 WRCV 2:LENGTH,

STRIDE8 w~LV I 2:LENGTH,.

STRIDE9 WRIV 2:LENGTH,

STR rO.E

ENCODE LOGICAL VECTOR TO INTEGERI PUT CURRENT TIMESLOT ON STACK~ PASCAL "WRITELN"OUTPUT CHARACTER THAT IS ON TOP OF STACKOUTPUT INTEGER THAT IS ON TOP OF STACKOUTPUT LOGICAL THAT IS ON TOP OF STACKOUTPUT CHARACTER STRING (ON STACK)OUTPUT LOGICAL VECTOR (ON STACK)OUTPUT INTEGER VECTOR (ON STACK)OUTPUT CHARACTER STRING (IN MEMORY)

OUTPUT LOGICAL VECTOR (IN MEMORY)

OUTPUT INTEGER VECTOR (IN MEMORY)

Page 57: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

SYNTAX DIAGRAMS

PROGRAMTYPE

--~~ program heading H program block J--..oPROGRAM HEADING

---~f(Pr 09 r amHiden t i f j erJ---.Or-------..,~~

simple type

PROGRAM BLOCKSIMPLE TYPE

integer

character

standard type illentllier

integer

character

TABLEtype

iden t i fier

identifier

- ......-l>t COn st

-----~t[ var ia ble~ expr es sian ~ ...

l>"0"0mZox

o

con s tan t I-.---~~

ASSIGNMENTP ERMA N ENT

ASSIGNMENT /

TABLE ENTRY

statement t"Tl-~"":~~

statement

permanent assignment

Page 58: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

DURING STATEMENT

r---~ ex pre S S Ion r--------------.Jto be implemented

horheadingj- _

vertheading

STATEMENT

HEADING STATEMENT

transitioncause ...---"'"

'--__~ t r a ns ilionc a u sa

on statement

s tat e men t 1-- 1

statement t--...---..J

expressionl-------_

expression

variable

procedure

identifier

uS i n g~--------...4

1-.:--------.-1 on s tat e men t I--------...,..~

permanent variable list

PERMANENT VARIABLE LIST

-----)~G-i cause ~statementl----~~ statemenl _---~I

statement

expression

expression

variable

expression

•C-ident_;"e<\ J

'----....JO...,...----ON STATEMENT

Page 59: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

VARIABLEFACTOR

v a ria b Ie r-------------------t

expressionidentifier

identifier

unsigned constant

tab Ie

function

subrange

expression~-.....r

variable identifier

-------+l>l in t e g e r~ in t eg e r]~-----__)o)o

VECTOR SUB RANGE

expression

EXPRESSION

simple 6 X pre s s ion I---~"';"-------------:"-'

CAUSE

W_:_r_i

~_:_s_'6_i _t_io_n :_:_u_U_:_:---lP

SIMPLE EXPRESSION expression

TRANS I TION CAUSE

--------,[-~)'It ran sit ion • x pre S 5 ion 1---.1,--------­

\"'.-------{g.......------_...-

value range

value range

CAUS E

'--_~<everyllmeslol).~---'

-:J eve n t ,}-------1I-".'-:....:...:=-:-:..:...-~/

transition

SIMPLE

TRANSITION EXPRESSION

______......._~~ va r I a b I e 1~-------,..------_--4

f0f_, -I I., m Ir----,L0J 4 term I,

TERM

__---;~ f IJ C tor I-.-----..--..--...,....--.---...,....---'\"-~

Page 60: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

VALUE RANG E

INTEGERw ...._u_n_s_i...:9:....-n_e_d__i _n_t_e.:.9_e_r_l--------...)

IDENTIFIER

-

CONSTANT

unsigned constant

unsigned integer

UNSIGNED CONSTANT

-------..r---~I un s i 9 ned in t e 9 e r It-~r_------;.

~ 109 I c a I 11--------1

~characlerl~------~

L-f 5 t r in 9it----------J

Page 61: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

..------~---... ---_._-_._-_._._._----------_._--_._-'_._-._,_._----_._-_._---_._-----_.__._._.•.+

! O •. P •.L.-·VOLUME

1 CH'A P-TF. r<SECTiON

1 SU8S.

USE R MAN U A L1: p~ELrMINARY VERSION / PkOP()SAL0:. TITLE. PAGE.0 ·'

..o:

!. -----,-----.-.-.-- ---,-,-·1DISTRHWTION

~ F~EE 1

+,---_...---_._--~---_._-_._. __._--_._'-_._---'--.-.------_._------- _._._._-_._--_._._- -_._._- -- _.+

00000 0000 00OU ouno 0000 00

000

PPPPt-JP pppp PPpppppppprJP

LLLLLLLLLLLLLLLLL

u U 5S Et:EE RRR M ~1 AA N N U U AA LU lJ S t: K R MM 1"4,"1 A A I~(\J ill U U A A LU u 55 EEE Rt-lR M r", M AAAA rJ NN U U AAAA LU U S c. R R M 1'1 A A I'J i'i U U A A L

ULJ 5S EEEE ~ R M M IS, A N N UU A A LLLL

.--------------------------------------------------------+A DIG I TAL NET ~ 0 R K S I M U L A T ION

OUT PUT PRO C E S SIN G PRO G RAM

I.+--------------------------------------------------------+

+----------.--------------------------------------~--------_ ... ------------+i 3UP. aoc. N~.

oIn GIN ALIS SUEPHILIPS RESEARCH LABORATORY

EINDHOVEN! DATE 19~1-02-2b

i PAGE O. O. 0- 2+------------------------------------------------------------------------+

Page 62: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~~-~~-------_._---_._----~-_._-~~_._._--~~-_._-_._--~------_._-_.__._._---------_._._._~1 U •.? .L .....

VULUMEl CrlAPreR

SEC'TION~ SUBS •.

u ~ E ~ ~ A N u A L1: PRELIMINARY V~RSrUN / PROPOSAL0:· CONTENTS0:0:

f_. ~ . .__ ~.-_.I. .l DISnHaUTrON! FREE ll l

+- ...-.~.__.. -_.......__.......,...,._._>..'.......~--- _...._....... -,--_._~.....-._._,_.....__.~_.. -_._~--..--- - ~_...,_._--_.- _.•._._._-+

CON TEN T S

o~ INTRODUCTION0.1 NOTATION IN THIS MANUAL0.2 I NT~Ui)UC TI ON TO THE LA I'JGU AGE

1. BRIEF LANGUAGE UVERV!f~

2. NuTATION AND VOCA~ULA~Y

2.1 LETTERS,OIGITS ANu SPECIAL SYMHOLS2.2 RESE~VEQ WORDS2.3 COMMENTS2.4 SEPARATORS2.5 IDENTIFIERS

3. DATA TYPES3.1 CONCtPi OF DATA3.2 SCALAR TYPES

3.2.1 THE TYPE LOGICAL3.2.2 THE TYPE BOOLEAN3.2.3 THE TYPE CHAR3.~.ij THE TYPE INTEGER

3.3 THE SUBRANGE TYPE3.4 THE ARRAY TYPE

3.4.1 VECTORS3.5 TYPE CO~PATrgILITY

3.5.1 IMPLICIT TYPE CONVERSION3.5.2 SA~E TYPE3.5.3 COMPATIBLE TYPES

I~. CONSTANTS4.1 SCALAR CONSTANTS

4.1.1 TYPE AMBIGUITIES WITH SCALAR CONSTANTS4.2 VECTOR CONSTANTS

q.2.1 TYPE AMBIGUITIES wITH VECTOR CONSTANTSq.3 EXAMPLES OF CONSTANTS

5. VARIAHLES5.1 DENOTATION OF VARIABLES

+------------------------------------------------------------------------+l SUP. DI)C. ~~R.

! ORIGI~AL ISSUEPHILIPS ~ESEARCH LAduRATORY

E I NOH 0 V E Nl DATE 1981-02 .. 2b! PAGE O. O. 0- 3

+------------------------------------------------------------------------+

Page 63: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+~---_._----~---_._----_._--------------------'_._--_.---_.__._-----~---_._._----_._+1 O•.P ..L •. ­:. VOLUf-IEl. CH-I\P T'=~

SEC.TIONt. SUdS.

USE R MAN U A L1: PRELIMINARY VERSION I PAOPOSAl0: CONTEI\/TS() ;u:. CONTIN,UE.O

t------------------·!OISTRltjUTICJN

1 FREE1 1.

b .,2

7 •.7 • 1

7 •. 27 .. 37.4

+-~~...---_.__._----_.-----_...----_. __._.- - -_._--,-_._._-_._- - --_.._._- - - _.- -'...--_.__._._- _._._--- _.+

CON TEN T 5 :

CHAPTER:

6. EXPRESSIONS6.1 OPEiHTORS

6 .. 1 .. 1 THE NOT OPERATOR&.1.2 THE MULTIPLYING OPERATORS

6.1.2.1 THE CATENATION OPERATOR6.1.3 THE ADDING OPERATORSb.l.4 TrlE RELATIONAL OPERATURS

FUNCTIONS AND TABLES IN EXP~ESSIUNS

6.2.1 FUNCTIONS DESIGNATORS6.2.2 TAdLE REFERENCESSTATEMENr PA~T

HEADING STATEMENTS7.1.1 THE VE~TICAL-HEAOING STATEMENT7.1.2 THE HORIZONTAL-HEAUING STATEMENT

UURING STATEMENTUN STATEMENTACTIO~ STATEMENTS

7.4.1 EMPTY STATE~ENT

7.~.2 ASSIGNMENT STATEMENT7 ..~.3 PROCEDURE STATEMENT7.4.4 COMPOUND STATEMENT7.Q.S IF STATEMENT7.q.6 ~HILE STATE~ENT

7.4.7 FOR STATEMENT8. STANDARD FUNCTIONS AND PRuCEDURES

8.1 THE SfANOARD FUNCTIONS8.1.1 EillCODE8.1.2 OLDVAL8.1.3 SIMTH1E

8.2 THE STANDARD PROCEDURES8.2.1 OUTPUT ?ROCEDURES

8.2.1.1 PRINTLIST8.~.1.2 PRINT I PRINTLN

+~---~------------------------------------------------ -------------------+1 sup. f)OC. NR.lOR I Gi i'l ALIS::; UE

PHILIPS RESEARCH LABORATORYE I N D rl 0 V ~ N

l DATE 1981-02-26i PAGE O. U. 0- 4

+---------------------------~--------------------------------------------+

Page 64: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~--~~~---_._----_._--~-------------~-~-_.__.__._-_._----------------_._----_._--~.+o•.P..l ....·VOLIJMECl+AP TE~

1 SECTluNSUBS •

USE R MAN U A L1~ PkELIMINARY VER~rON I PROPOSALU: CONTENTS0:·0: CONTINUED

DISTRIBUTIONt FREE..--~-----_._~--~------~------~---------_._-~--_.~--------_.__.~---_._----_._-~--~

CON TEN T S

q •. TH E 0 Eel ARA rIO N PAR T9,., 1 CO 1'4 STA.'H 0EFIN I T ION PAR T9.2 VARI~~LE DECLARATION PART9.3 V~RIABLE INITIALIZATION PARTq.4 rA~LE DEFINITION PART9.~ PERMANENT ASSIGNMENT DEFINITIUN PART

10~ TH~ OPl PRUGRAMlO.l A~ EXAMPLE

A P PEN DIe E s

A. COMPILER ERROR MESSAGESA • 1 ERR aR NUHH E ~ SU~1 MAR Y

~. COMPIL~R OPTIONS

+~--------------------------------------------------------~--------------+~ SUP. 00 C. i~ R•! ORIGI~AL IS~U~

PHILIPS RESEARCH LABORATORYE I NOH 0 v E N

! DATE 1981-02-26! PAGE O. O. 0- 1

?----------------------------------------_._---~-----------------------~--~

Page 65: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

.....----_._------_._- ---,---~_._,-,_._--_.- --_.----- -_._-_._-_._--_._.__.---_._.__._._---_._._._.+.~. 0 •.P •.L .-.

VOUIi·1EC,HA.P'TER

~ SEC TrONsues.

U 5 ~ R MAN U A L1: p~ELI~r~ARY VE~SIUN I PROPOSALOf GENERAL INTRODUCTION1:0:

t ..._....._.__..... .... _._.... _ ~_.I. .DISTRIbUTION

l FREE,•

+'~---_._ .._-'-_._._'-_._- ...--,------,----- -----_.__._-_.__._._.~-----_ ..-.-.__._-------------- _.+

0.1 NOT A T ION I N T HIS r·1 A N U A L

IN THIS MANUAL A SPECIAL-PURPOSE OUTPUT PROCESSING LANGUAGE(O.P.,L.) IS DESCRIBED. THE SYNTAX OF rHE LANGUAGE IS PRESEI~TEO BYMEANS UF SYNTAX DIAGRAMS. THEY CLEARLY SHOW HOW CORRECT SENTENCESIN O.P.L. CAN BE CO~STRUCTED.

A SFNTENCE IN O.P.L. IS 8uILD FROM ELEMENTARY SYMBOLS. THEY ARECALLED TERMINAL SYMt3ULS ANO APPEAR BETwEEN DUIJBLE rWOTES IN THESYNTA~ DIAGRAMS. A SYNTA~ 0IAGRAM DEFINES A NON-TERMINAL SYMBOL BYCATENATING TERMINAL AND NON-TERMINAL SYM80LS.A NON-TER~INAL SYM60L IS INDICATED ~ITH SUUARE BRACKETS. THE SEQUENCEOF THE SYMBOLS IN A SYNTAX DIAGRAM IS INDICATED BY ARROWS. A PATH CANBE TRAVERSEO IN ONE AND ONLY UNE DIRECTIUN.SYNTAX OIAGHAMS SOMETIMES CONTAIN LOOPS. THE NUMBER OF TIMES A LOOPCAN ~E FULLowED IS NOT MENTIONED IN THE DIAG~AM aUT WILL BE STATED INTHE ACCOMPAGNYING TEXT, ~HICH IS CALLED THE SEMANTICS OF THE CONSTRUCT.

A SlJ~H4AR'f OF THE LANGUAGE IS GIVEN IN CHAPTER 1.THE CHAPTERS 2 THRU 10 oEFINE THE LANGUAGE IN A BOTTOM-UP FASHION.

0.2 I N T ROC T rON T 0 o. p. L.

----------'--------_._-~------------_._-~

OPL IS AN ACRUNYM FOR ~OUTPUT PROCESSING LANGUAGE~. IT IS APROBLEM ukI~NTEU LANGUAGE INT~NDEu TO BE USEO AS A POST-PROCESS­OR FO~ A LOGIC NETWOH~ SIMULATION PROGRA~.

NOWADAYS MANY ELECTRONIC DESIGNERS USE SIMULATION PROGRAMS TOTEST THE tlEHAVIOUR OF THE LOGIC CIRCUITRY. AS SOON AS THE SIMULATEONET~OHK RECOMES VEHY LARGE (LSI ANn VLSI-CI~CUITS), THE CHECKINGOF THE SIMULATION OUTPur TA~LES BECUMES A VERY A~NOYING ANDLABORIOU~ JO~. TO RELIEVE THE uESIGNER OF THIS JOa THE OPL PROGRAMPACKAGE HAS ~~EN DEVELOPED.

MANY ~LOGIC SIMULATORS~ UFFER VERY FE~ OUTPUT TABLE FACILITIES.IN GENE~AL TH~ uuTPUT TABLE CONSISTS UF A LIST OF SIGNAL VALUES THATVARY IN TIME; EACH TIMESLOT IS A NEw LINE ON THE PAPEH. TENS OFP AGE S (} NLY C0 ,H AI i\j I i~ G THE CHARACT ERS THAT ~ E fJ RES E I\J T THE LOG I CALVALUES (qZERO~S" AND qONEs q) ARE NO EXCEPTIONS.

+~-----------------------------------------------------------------------+~ SUP. l) 0 C. iN.

llRIr;ri\lAL ISSUEPHILIPS RESEARCH LA80~ATORY

E I ~ D H 0 V E Nl UATE 1981~02-26

~ PAGE o. 1. 0-+------------------------------------------------------------------------+

Page 66: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---...._._--_._--_._-----------_._._._--_._._--_._._._---------_._._._-----_._-----_.__.__._._-+

I I..o.-P .,L.•.­VOUJM!:C.HAPTE~

l. SEC.T IONSIlBS.

USE R ~ A N U A L1: PRELIMINARY VERSION / PROPOSAL0: GENERAL INTRODUCTION2: INTRULlUCTIUN Tu THE LANGUAGE0:

1 ------_._._.__._.1. .OlSTRIHUTION

1 FREE

.p.-----_.--_.__._---_.- _._---_.__._--_.--.__.---_._' ....-_._._,-----~------ -'...---_._.__.-_._-_._._.--- ---+

THIS rlUGE MASS OF INFORMATIUN FURMS THE INPUT DATA TO THE OPL PACK­AGE. \'iIrH OPL IT IS P\JSSIHLE fO CUMPRESS fHF.: AMOUNT OF DATA ANDP~ODUCE EASIEr< rNTE~PRETAtjLE OUTPUT TABLES.

THE FEATURES OF THE OPL-PACKAGE ARE:

1) IT PROVIDES AN EASY WAY OF FORMATTING THE fABLES OF THE SIMULATIONUUTPUT SIGNALS.APPROp~rATE DEFAULT SETTINGS PROVIDE THE OCCASIONAL USER wITHA FAST AND SIMPLE TUOL TO oaTAIN A CONVENIENTLY ARHANGED OUTPUT.

2) ONE IS AdLE TO G~OUP AND CUNVE~T SIMULATIUN OUTPUT SIGNALS IN ORDERTU C~EAT~ MORE R~A0A8LE AND MORE SUBJECT DIRECTED SIMULATIONRESULTS.

3) ONE CA~ INDICATe THE SIMULATION TIME INTERVAL Af WHICH THE POST­PRuCt: s s I 1'4 G SH0 lJ LD TAKE PLAC E•

4) ONE IS ASLE TU DETECT SPECIFIC CHANGES (T~ANSIrIONS) OF THE SIGNALVAL UE: S AI~ 0 ASAC 0 NSE f.J UEi'j CE 1NV0 1'0:: CERT AI N ACT I 01\1 S ( STAT EMEN TSJ •

IN ORDER TU EFFECTUATE THE PROCESSING THE DESIGNER SUPPLIES APROGRAt4 ~y ~HICH HE EXPRESSES HIS NEEDS. DPL IS A HIGH LEVEL LANGUAGEHEAVILY dASEQ ON PASCAL CU~STRUCTS •

•------------------------------------------------------------------------+! SUP. DOC. !'JR.

1 ORIGINAL IS~UE

PHILIPS ~ESEARCH LAaO~ATORY

E I NOH 0 V E N1 DATE 19S1-02-2bl PAGE O. 2. 0- 1

+------------------------------------------------------------------------+

Page 67: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---_._..._----_._- --"_.----_.- ------_._---_._._.__._-----------_._._._-- _. __._._.__._.- _.__._-,_.- _._+

D •. P.L.- lJl. V0 LtH·H::~ CHAPTER

SEC TIOt\lSIJHS •.

S t: R 1'1 A N U :\ L1: Pt-<ELIi·1II'iARY VERSIOfJ J Pioo!OPOSAL1: BRIEF LANGU~GE OVERVIE~

u:u :

,_. ._~_. ~ l. .0ISTtdBUTION

l F~EE

i+-------_._'---_._---------~----_._----------_._-_._----_._-_._-------------------_._+

L 4 N G U AGE SUM MAR Y..~,----......_.~._- _._- ...._.- -,_.__....-_._---_.--_.»»> PROG~~M ««<

A SPECIFICATIUN OF ACTIONS ANU THE DATA UPON WHICH THE ACTIONS AREPERFORMED.

»»> DECLA~ATIONS ««<

CONST

VAR

INIT

TABLE

DEFINE

UECLARES AN !OENTIFIER TO dE SYNONYMOUS WITH A VALUE

DECLARES A VARIABLE

ASSIGNS AN INITIAL VALUE TO A VARIABLE

OEFINES A CONVERSION LIST.IT PRovIDES A MEANS OF CONVERTING VALUES OF POSSIBLYDIFFERENT TYPES.

OEFINES ASSIGNMENTS TO VARIABLES THAT ARE PE~MANENTLY

UP0ATED. VARIAtlLES THAT ARE ASSIGNEU TO IN THE "DEFINE"­DEFINITION ARE CALLED PERMANENT VARIABLES.THE VALUE OF S [I CHAP ERr-l Ai'J E.1'4 T VARI ABLE .H LL CHAN GE, I. E•THE ASSIGNMENT wILL BE EXECUTEO, EACH TIME A SIGNAL O~

A PREVIOUSLY DEFINED PERMANENT VAt-<IABLE IN THE EXPRESSIONCHANGES.

»»> OATA TYPES ««<

SCALAR

SUBRA~Jr;E

AI<RAY

THE PREDEFINEO TYPES: BOOLEAN,LOGICAL,CHAR ANO INTEGER

A SUdS~T OF CHAR DR INTEGER TYPE, CONSISTING OF ALL VALUES~ITHIN CERfAIN ~OUNDS.

A STRUCTURED TYPE COMPOSED OF A LIST OF COMPONENTS.OF TrlE SA"it: TYPE

»»> PREDEFINED DATA TYPE IDENTIFIERS ««<

ROULEAI~

LOGICAL

THE TRUTH VALUES "FALSE" AND "TRUE"

TYPE CONSISTING OF THE VALUES "FALSE", "fRUEH,I. * " (LJ ,'J Ki'Ia If N), "3 " (T RI .. STA TE) Ai\j 0 "Ii" (LJ NI) EFIN EO) •THE TYPE ~OOLEAN CAN BE REGARDEO AS A SUdRANGE TYPEOF THE TYPE LOGICAL.

~-~ ..~---------------~--------------------------------- -------------------+l SUP. DOC. I'Jlo(.

1 O~IGINAL ISSUEPHILIPS HESEARCH LABORATORY

E I NOH Q V E N1 DATE 1981-02-20l PAGE 1. O. 0- 1

+----------------------------~-----------_ ..~-_._------ --------------------+

Page 68: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_._--....------_._.- - _.__.-...-.__._-----_._-------_._._._.__._-,_.---- _._-_._..-.-.~--,_._.~ _._...-._._.~_ .....o•.P •.L •. -' lJ

1. V.OLUMI;;l. C.HA.PfERt SEC TrUN

Suos.

S E. R MAN U A. L.t= ~~ELIMINARY VERSION I PROPOSAL1: b~lEF LANGU~GE OVERVIew0:

v:··

t __..-.__...._.__ ~.__... I. .DISTR-18UTION

1 FREE

.---,---~-----_._._._------------~----_._---_._----~_.---~~ ..-,_._--------------~~-+

CHAR

INTEGER

ALL CHARACTERS AVAILABLE ON THE UNDERLYING OPERATING SYSTEM

WHULE VALUES IN THE HANGE:..·2 14-7a8:) b" 8 (= "·2 t 3 1) •• 21 47 483647 (= 2 t 3 1 - 1)

»»> EXECUTAdLE srATEMENTS ««<

HEAOING

DURING

ON

SPECIFIES THE HEADING LINE& AND FO~MATS THE OUTPUT TABLES

SPECIFIES THE TIME INTERVAL AT WHICH PROCESSING TAKES PLACE

fHIS STATEMENT EXECUTES SOME OTHER STATEMENTS DEPENDINGON THE OCCURRENCE OF A CAUSE

ASSIGNMENT THE STATE~ENT THAT ASSIGNS A VALUE TO A VARIABLE

COMPOUND BRACKETfNG A SEQuENCE OF STATEMENTS BY ~EANS OF THERES ERVE0 ,~ 0RDS "BEG I NIt AND "EI'J 0 ,.. N0 t~ THE SEQ UEN CEACTS AS A SINGLE STATEMENT

EivlPTY THE NULL STATEr-lENT: NO EXECUTABLE CODE IS GENERATED

FOR A LOOPING STATEMENT WITH A PREDETERMINED NUMBER OF ITERATIONS

WHILE A LOOPING STATEMENT wITH THE TERMINATION TEST BEFORE EACHEXECUTION OF T~E ITE~ATED STATEMENT

IF THIS STATEMENT EXECUTES SOME STATEMENTS OEPE~OING ONTHE VALUI;; OF A CUNOITION.

PROCEDURE THIS STATEMENT INVOKES A STANDARD PROCEDURE

»»> CONSTANTS «c<e

BOOLEANLOGICALCHARINrEGER

FALSE (0), TRUE (1)FALSE (0), TRUE (1), *, 3, ttAN ELE~ENT OF THE AVAILABLE CHARACTERSET~H0LE NUMBER IN THE RANGE-2147~83648 •• 2147483647

VEC TOR cor\lS TANTBOOLEAN ELEMENTS FROM THE SET [0,11LOGICAL ELfM~NTS FROM TrlE SET (0,1,*,3,#]CHAR ELf~ENrS CAN 8E ANY AVAILABLE CHARACTER

+-------~----------------------- ..-----------_..~------- --------------------+~ :) Up. DOC. i'J f< •

1 ORIGINAL ISSUEPHILIPS RESEARCH LAHORATORT

E I I~ D H 0 V E N~ DATE 1981-02-26l PAGE 1. O. 0- 2

+--------------------------~-------------------------------~-----------~-+

Page 69: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

i"-~-------'----'-'---'-'-- --.----.------- -.-- -.------.-.., ------------- -.- --,-.--- --,----.--.--+1 o•.p.•.L •. -- U

t VULUf-1F.:I CH~PTER.

SEC.TIONSUSS •.

S E R ~ A N U A L1: PRELIMINARY VERSION / PROPOSAL2: ~UfATrON AND VOCA8ULARY1: LETTE~S, UIGlfS, SPECIAL SYMBOLS0:·

I ~_,__-__, ._.__.__ ,

~ .OIsn~lBUTION

l FREE

+-_'_.__.__._,_._.__...._~__. ._. .__. ._.-4-_._-_.-4- ~__._. -_,_._.__-__., __._,_+.

2~ NOfATrON AND VOCA8ULARY

2 •. 1 LETTERS,OlGIrS AND SPECIAL SY~80LS_t_, . · - - ._,__·_·__~ _THE BA~rC VOCAbULARY OF THE LANGUAGE CONSISTS OF 3 SETS OF BASIC

SYM~OLS: LETTERS,OI~rTS ANn SPECIAL SYM~OL5.

A LETTER IS Ai>/ ELEMEI'H OF THE SET (A,a,c, ••• ,X,Y,Z 1.A OTliIT IS AN ELEME-NT OF THt: SET ( O,1,2,·3,£J,5,b,7,B,9].SPECIAL SYMBOLS ARE OPE~ATO~S ANU UELIMITERS. APART FROM THE

RESERVED wORUS (SEE CHAPTER 2.2) SPECIAL SYMdOLS A~~:

~---_.~---------_. __._-_._-_._.__._._------------_._----_._-----_._----_._+SPECIAL SYMBOLS+-__,.__. , -_- .__..-, - 0_. . +

l

+-*/<<:

<>>>:;

&()

[

]

··• •

·­.-/1(

*1

ADDITION OPERATOR/SYNONYM FOR "OR"50tiSTRACTION OPERATURMULTIPLICATIor~ OPERATOR/SYNONYM FOR "AND"/LUGICAL CUNSTANTOIVISION OPERATORLESS THAN OPERATORLESS THAN O~ EQUAL OPERATO~

EIJl! A Lr TY 0PER A TORNOT tQUAL OPERATORG~EATER THAN OPERATORGI~ EAT ER THAN 0 R EQUA LOP ERA TORCATENATION OPERATG~

L~FT PARENTHESISRIGHT PARENTHESISCOMMAPERIOOLEFT SQUARE BRACKETRIGMT srHJARE BRACKETCULONSU8~ANGE NOTATIONLOGICAL CONSTANT5£1'-11 COLONA$SIGNM~NT 5Y~BOL

L~FT a~ACE OF CO~MENT

RIGHT 8RACE OF COMMENT

lI•

+~----_._-~------------------------------------------- --------+SYNONYMOUS SyMBOLS

+------------------------------------------------------------+~

*1

ORAi';JD

DIV+------------------------------------------------------------+

+------------------------------------------------------------------------+l SUP. OUC. NR.lOR I GI ;'~ A L r S SUE

PHILIPS RESEARCH LABORATORYE I NOH 0 v E N

l DATE t981-02-26l PAGE 2. 1. 0- 1

+-----------------------------------------------~~-------~---------------+

Page 70: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---_._-_._,..._._.--_._------_._------ -- _._._...._-..---------- -_._- ---,-,_._-- --_.__._._---- -_._~O•.P.,L.-·VULUMECH-A·P TERSECTIOI'.j

~. SUdS •.

USER MA·NlJALIf PRELrMIN~RY VERSION I PROPOSAL~~ N0TATrON ANO VOCABULARY2: R~SERVED ~OROS I 3: CUMMENTS0:·

• __~~ . .__._.J.. .DISTRIBUTION

1 FREE1+._,--_._--_._.__._,_.__._'-_._'.-----'-------_._---_.----,_._---_._.__.- -,_._._.__._-- --_.__._._--,_.__...,.

2.2 RESE~VEO ~ORDS

...-... -._._...-.- ..._---..-'

RESERVED ~OROS (SOMETIMES CALLED KEYWORDS OR WORD-DELIMITERS)ARE TO BE CQNSI0EREO AS SrNGLE SY~80LS wITH A FIXED MEANING~

T~EREFORE THEY CAN NOT BE USED AS IDENTIFIERS.

+._----'.._,_._----.--,_.--_.•,----_.__._-- ...._-_._---_.-----_._._------_._-_.__._._..,..

•---'-----,..-.---.--.-.---'--------.-.----------~---.-~--·~------·~-·-·--~·1ALLANDAfoiRA YBEGINCONSTDEFINEOIV00OOWNTUDURINGELSEENOECWIVEVENT

EVERYTIMESLOTEXORFURFROMrlURHEADINGIFfl'H TLIS TEVENTMOONEXTPARTNOTOFONOR

OTHERWISEPERlOOPRINTLISTPROGRAMTAdlETHENTOTr<ANSITIONUNTILUSINGVARVt:RTHEADINGWHILE

..,.------------_._------------_._-----_._,_._-----------------------+2.3 COM,4£I'J TS

THE CHARACTER PAIRS I~ AND ~I HAVE A SPECIAL MEANI~G. THE~

DENOTE fHE dEGINNING AND END OF A COMMENT STRING. A COMMENT STRINGMAY CONTAIN ANY AVAILABLE CrlARACTER.

COMMENTS ~RE SEPARATORS (SEE CHAPT~R 2.4).

EX A,'WLES:

/- THIS IS AN EXAMPLE OF A COMMENT STRING *1

1* A COMMENT MAY CONSIST OF MANY LINES OFTEXf, CONTAINING ANY AVAIlA~LE CHARACTERE.G. "lj~%&'()\J*= E.TC. *1

1* NO SEPA~ATORS ARE ALLO~EO BETwEEN THE IAND *, RE5P. * ANU / *1

+------------------------.----------,..----~-------------------------------..,.~ SUP. [Joe. NR.~ O~IGINAL ISSUE

PHILIPS RESEARCH LA80RATORYE I N D H 0 V E N

l DATE 19R1-02-2b~ PAGE 2. 2. 0- 1

+---------------------------------.--------------------------------------+

Page 71: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+~~-----~--~--------_._---------~_._-_._-'----_._-------~--_.__._---_._.__._----_._-+I U•.? •.L•.-' Li 5 E R H A N U A L l-.-

VOLUI~e; 1: PRELIMINAiH VERSION I PROPOSAL l-·---·---.---- ....-------·!t CHA·P·T'ER 2 : ,'J 0 I AT1.0N ArW VOCAtWLARY DISTRIBUTION.-

SECTIUN ~:: SEPARATORS l. FREEI SUdS •. o: 1.-+~----' ......-...._--..-........-_.__...---....-_._-----'----_.-~ _.- ...-. __.- _._._-----_._.•._.....---_._- •.__._-_.+

2.~ SEPARATORS

BLANKS, ENG OF LINES AND COMMENTS ARE SEPARATORS. 8ETWEENANY TwO CUNSECUTIVE UPL-SYM80LS AN AR~rTRARY NUM~ER OF SEPA­RATO~S MAy ~E INSERTE0, WITH THE FOLLU~ING 2 ~EST~ICTIONS:

1) NO SEPARATORS MAY UCCUR WITrlIN AN IDENTIFIER, NUMBER ORSPECIAL SH1HOL.

2) AT LEAST 1 SEPARATOR MUST dCCUR BET't4E.EN Tt40 CONSECUTIVEIOENTIFrER~, NUM6ERS O~ RESERVED WORDS.

=====':===-==.:.:'=::::':==='=.:::.:'::====-:.:::::=:.==.:======-==:.==:====.:.=:'=='=='==

EXAMPLE OF COMMENT USED AS SEPARATOR:

BEGINlk "BEGIN~ AND QENDN KEYWORDS ARE SEPARATED */ENO

EXAMPLE OF END OF LINE AS SEPARATOR:

t3EGINEr\lU

EXAMPLE OF ~lAN~ AS SEPARATOR:

i3EGIN EI'~U

+---~~-------------------------------------------------------------------+~ SUP. Due. NR.

ORIGINAL ISSUEPHILIPS RESEA~CH LAdOHATUkY

E I N D H 0 V E N~ DATE 1981-02-2b1 PAGE 2. 4. v- 1

+------------------------------------------------------------------------+

Page 72: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---_._._._....-_._._---_._--,_._-...-._._._-_.~ --_._-,_._----,~._- ... -_...._._.- -------- -_._....-_.__.__._---+

O.P •.L.- UVOLUMEChAPTERSECTIONSUBS ..

S E R MAN U A L1: PRELIMINARY V\::RSIO~1 / PROPOSAL2: NOT ATION A.N D vue ABU LAr<Y5: IOEtJTIFIEr-iS0:

~ --,-·--,----,-,--,-,-----·1OISTRHWTION

! Fr-iEE

+---..._._._--_.- ......__._---_._'_._--,_._._---,- ----_._-------_._----_._-------- --_._._,- - _.- - _._._---,-+

2 •. 5 IDEfHIF"IERS--~_._._---_._-

rOENTrFIE~S ARE NAMES THAT DENUTE CONSTANTS, VARIA~LES,

PROCEUURES, FUNCTIO~S AND TA8LES.

SYNTAX OF AN IDENTIFIER:(LETTERS AND DIGITS AS DEFINED IN CHAP. 2.1 )

----->[ LETTER J---~-----------------+---------+--------------->

.-[ LETTER ] <--+ V1 1.--[ DIGIT J<--+--~-- " It•

v

<-+.

A CUR~ENT IMPLEMENTATION REGARDS THE FIRST 12 CHARACTERS OFAN IDENTIFIER AS SIGNIFICANT1

SOME IDENTIFIeRS ARE P~EOEF!NED. THEY A~E REFERRED TO ASSTANDARD IDENTIFIERS. THEY CAN NOT ~E USED FREELY BY A USER FORPURPOSES OTHER THAN THEIR DEFINITIONS.

_._--,--- ---- --_._.- _.- --_._-- -- - -,- -- ----- -------- --- --- -- ------ --- --_.­----------------------------------------,------------------------EXAMPLES OF LEr.AL IDENTIFIERS:

RESET NANO.3 C[)i\lST ANT I A2.1B AVERYLONGIOENTIFIER

EXAMPLES OF ILLEGAL IDENTIFIERS:

3RD CUNST FALSE NANO-3

EXAMPLE OF TEXTUAL-DIFFERENT, BUT SEMANTICALLY-EQUAL IDENTIFIERS:

NCHJ.lJISTINCTl NOi\l.DISTINCT2

NOTE: NO ~ARNING IS SuPPLIEO TO INFORM THE USER OF POSSIBLEAMBIGUITIES OF THIS SORT.

+------------------------~---~-------~-------~,-----------------~----------+~ SUP. DOC. NR.! ORIGINAL ISSUE

PHILIPS RESEARCH LABORATORVE I N D H 0 V E N

l DATE 1981-02-26! PAGE 2. 5. 0- 1

+----------------------------------------------------- -------------------~

Page 73: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~-------"-------_._------_._._---_._----~--------_._.--------------,_.__._------~-_._+!. O..P ••L.- Ul. V·OLW-1E

CHA.PTEKSECTION, SUBS..'

S ~ RNA N U A L1~ PRELr~INA~Y VE~SrON / PRUPUSAL3: DAT A T YP E:. Sl~ CONCEPT OF DATA / 2: SCALAR TYPESu :

i ..- ......-·..,- ...--·---"-,-----~ll DISTRIBUTIONl FRE.E

+_._-_._-_._-----_._...----_._.....-----_.__._------_.-......--_._.__.----,_._--_._------_._._---_._,_._._----_._+

3.. DATA TYPE.S

3.1 CONCEPT OF O~TA

A PROGRAM OESCRI8ES CERTAIN ACTIONS THAT MANIPULATE DATA.ALL DATA ARE HEPRESENTED BY VALuES OF CONSTANTS AND VARIABLES.THE: VALUE: Of A CONSTANT CAN NOT CHANGE DU~ING EXE.CUTION OF THESTATEMENTS; THE VALUE OF A VARIAdLE CAN.

THE DATA TYPE DEFINES A UNIQUE SET OF VALUES. EVERY DATA ITEMMUST tiE ASSOCIATED WITH ONE AND ONLY ONE TYPE.

A SCALAR TYPE IS CHARACTERIZEO BY THE SET OF ITS DISTINCT VALUES,UPON wHICH A LINEAR ORDERING IS DEFINED.THE~E ARE FOUK PREUEFINED SCALAR DATA TYPES IN QPL, DENOTEDBY THE IDENTIFIERS: BOOLEAN, LOGICAL, CHAR ANO INTEGER.

A SO CALLEO SUtjRANGE TYPE CAN BE FORMED OF THE TYPES CHAR ANDINTEGE~ 8Y INDICATING THE SMALLEST AND LARGEST VALUE IN THE SUB­RANGE-S~T OF VALues.

THE Afo<i<AY TYPE PROVIDES A r4EANS FOR SHWCTURIi'JG DAT.A.

SY~JTAX:

TYPE-------------~-->( SCALAR TYPE ]--+-------------------------->

~-->( SUBRANGE TYPE J--~, I. .+-->[ ARRAY TYPE )--+

3.2 THE SCALAR TYPES

A SCALAR TYPE IS DEFINED BY ITS LINt.AR ORlJl:.RED SET OF VALUES.THE PREO~FINEU TYPES IN O.~.L. ARE: BOOLEAN, LOGICAL, CrlAR AND lNTEGER.

+------------------------------------------------------------------------+i SUP. Df1 C. ;'1 K •l ORIGINAL ISSUE

PHILIPS RESEARCH LABORATORYE I N D H 0 v E N

! QATE 1981-02-26i PAGE 3. 1. 0- 1

+-_._---------------------------------_._----------------------------------+

Page 74: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

..~----_ ...__._-- _._.__._-- ----,---_..---_._-------- --------- -_._----_.__._-_._--------- _.+~ () ..P •. L • - LJl. VOLUMF;;l CHAp·TER

SECTIONSU8S.

s E H M 4 ~. U 4 L1: PRELIMINARY VERSION3:' I) 1\.TAT YPES2: THE SCALAR TYP~S

1: THE TYPE LUGICAL

I P'ROPOSALl., __~__._ _ • .__._._._ t. .

IJISTRIBUTIONl FREE1

+-------,----_.__._---_.__._--'- - --_._,--_._-_._._._- _.~-----..--- --- --_.- _._--~._-_._-- ...._,-_._,_.+

3 ..2 •. 1 THE TYPE LOGICAL

THE VALUES OF TYPE: LOGICAL ARE:THE T~UTH VALUES "FALSE~ (~O") AND "TRUE" ("1").THE VALU~ "r"~ IJENDTING THE UNKNO~N STATE, I ..E. THE VALUE ISEIrHER "FALSE" OR ~rRUE".

THE VALUE "3", DENOTING THE TRI-STATE.TH!:: VALUE 11.1:.", DENOTING THE UNDEFIi,JED STATE.

THE ORDER OF THE VALUES IS: 0 < 1 < * < 3 < # •

THE I)!FINITIQN UF THESE VALUES AND THE OPERATIONS PERFORMED ONDATA OF TYPE LO~ICAL ARE CONSISTENT ~ITH THE "PHILSIM" AND "SAMSON"MANUALS.

THE PERMISSAdLE OPERATORS AND FUNCTIONS WITH LOGICAL OPERANDSAHE PRE SEN Tt:.D ll~ THE F (J L LOW I NG TA8 L E •

+_.~---_._-~-+._,_._._~-_.__._+-~----_._-----_._---_ ....---------------_.+lOPERATION 1 FORM DESCRIPTION+---_.~---'--+----~------+-----_._--------------_.__.------------+l NOT lUNARY l NE.GATION+ __.__--. . -. ...+ - _ _..-..__. + _'.. ~_ ... ._ .. __ .. _. ._~ ... .. __ .. _-.. .. _ eo +lAND (-) 1 BINARY1 & l BINARY

l CONJUNCTIONleA TEN A TI o,'Ij

+-_.__._-----+---_._-_._--+-------_._----,----_.__._--_._-----------.1 OR (+) l BINARY l 0 I S J UNCT I 0 l'i I.-+ ~-_._,...,_.- -_._-+ - -- ---,- -- -+ - -- - _.- -- --- - -- - ---- --_.- - --- --_._- - - -- +l E~tJIV

1 EXO~

l BINARY1 rHNARY

1 EQUIVALENCEl EXCLUSIVE uR

•.~~_._------+---_._-----+--_ ...--------------------------------~=<><<=>=

l >

8INARYi3!NARYlHNARYt3INARYr::IINARYaINARY

CO~PARES FOR EQUALITYCOMPARES FOR INEQUALITYCOMPARES FOR LESS THANCOMPARES Fut1 Lt:SS THAN OR Er~lJAL

COMPA~ES FOR GREATE~ THAN OR EGUALCOMPARES F"l)R GREATER THAN

+----------+----------+------------------------------------++_._--------.----------+----_._------------------------------+ENCODE FUNCTION CONVERTS "FALSE" INTO TH~ INTEGER

1 l VALUE "0", AND "TRUE" I:\JTO THEl INTEGER VALUE "1"

+----------+----------+------------------------------------+

+------------------_._----------~---------------------------~-------------+l SUP. OOC. NR.

ORIGINAL ISSlJEPHILIPS RESEARCH LAdORATORY

E I NOH 0 V E Nl DATE 1981-02-2b1 PAGE 3. 2. 1- 1

+-----------------------------------------~----------- -------------------+

Page 75: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

..-,_._,--~----_.__._-,--_._._.__.--._,-~.__._- -_.- _.- ----,_.- - - ---_._,-_.- ----_.- -,_._._-,-_._- _.__._. - -,~.+.

! 0 •.P •.L.-·1. VaLlJi'1t.

CHAPTERt SECTIOI~

~_ SUt3 S •

USE ~ MAN U A l1: P~ELIMINARY VE~srON

3: lJATA TYPtS2: TriE SCAL~R TYPES1: TH~ TYPE LOGICAL

I PROPOSAL ,--_._-----------_. .1. .I) 1ST RI aUT 10 j~

~ F~EE

+--_._-----~----_._~-_._-_._._----_.__._-------~_._-'--_. __._-~-------_._--_._. __._._---_._.+

THE llPE.RATORS "!\lOT", "AND", "OR", "EQLJIV" AND "EXUR" ARE OEF INEO8 Y:

NOT 1 0 1 1t. 3 #.~-----,~_.~~---_._--,

1 1. 0 •• It #

AI'JO I 0 1 'It 3 t:t OR I 0 1 'It 3 tI..~----_.+-------'--- -~---~.+----~----_.

l) u 0 0 0 l} 0 0 1 * # 11-

1 0 1 *" tt Ii 1 1 1 1 1 1.. 1 0 • ." it # .. ! III 1 III # #3 0 #. # #. # 3 i:i 1 .. '# '#...# 0 4- tt It- a # I Ii 1 Ii # #.

EQlJIV I 0 1 1t 3 # EXOR ! 0 1 'It 3 #.~-----+--_._------ .. _.- ---+.- -.--------

0 1 0 .. ti :I 0 0 1 .. # #1 0 1 .. J:t Ii 1 1 I) * # #." ! .,. ." * # tt ." ! * 'It * # #

3 # /:I. '# # # 3 # # tt #. #tz It ,tt # # # Ii # # # # #

+------------------------------------------------------------------------+! SUP. OOC. I~R.

ORIGINAL ISjUEPHILIPS RESEARCH LABORATORY

ErN D H 0 V E Ni OATE 1981-02-26! PAGE 5. 2. 1- 2

+-------------------~---------~---------------~----.----~----------------+

Page 76: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

...--_._._----_.__._--_.__._-_._.__._.-...-.__._.__.__._._._-_._-_._-- _._.- -,_._-_._._._,--,- -_._._._,._-_._._.. -+-! O..P ..L .,-- U S E R i'" A i'<i U A L! VOLUM!: 1 : P~ELIi'HNARY VERSION I P~OPOSAL !~--~-_._---~-_._.~----!, CHAPTER 3 : DATA TYPES DIS TR 1BLJ TION..

SECTrON 2. : TrlE SCALAR TYPES ! FREE !~. SUBS. 2:' Tl'it rYPE aOOLEAN I THE TYPE CHAR

3.2.2 THE TYPE BOOLEAN

rHE VALUES OF TYPE ~OOLEAN ARE THE TRUTH VALUES UE~OTED BY THEIDENTIFIERS ~fALSE" AND "TQUE". INSTEAD OF THESE CONSTANT rnENTIFIERSTHE SYNONY~5 "0" FOR "FALSE" AND "1" FOR "TRUE" M4Y BE USED.THE ORUEQ OF THE VALUES IS:' FALSE < TRUE. THE TYPE HOOLEAN IS APREOEFINED SU8RANGE UF TYPE LOGICAL.

3.2.3 THE TYPE CHAR-,_...._.__.- _._._.~,.-

ALL AVAILAdLE CHARACTERS ARE CONSIDERED VALUES OF TYPE CHAR.THE ORuER OF THE CHARACTERS IS IMPLEMENTATION Of.PENDENT. THE SEL­COMPUTERS P~UVIOE THE FOlLO~ING CHARACTER SET:

0 1 2 3 4 5 6 7 8 q---+---,_._~-~-_.__._.. ----~-,_._._---_._--

0 A t; C D E F G H I1 J K L 1'01 N 0 P Q R S2 T U V ;'4 X Y Z 0 1 2.3 3 4· 5 6 7 8 9 +- ..4 I ( ) :s - CHARACTER 4S IS THE "8LANK"5 ]

,.#. % t & < >

6 1 ? @ ; CHARACTE~ 62 IS "BACKSLASH"

OPERATIONS ANO STANDARD FUNCTIONS THAT CAN 8E APPLIED TO OPERANDSOF TYPE CHAt'( ARE:

+~-_.~-----~+-_._-----,--+---_. __._~-,._._------------- ----------+

lUPERATIO~ ! FORM DESCRIPTION+----_._-----+----------+-----------------------------------_.+I ~ I r;!rJARY I CATENATION. . .+----------+----------+------------------------------------+

= IHNARY COMPARES FOR EUUALITY<:> RINARY COMPARES FOR H.!EQUAL I TY< BINARY CU"IPARES FO~ LESS THAtJ<: 8INARY CQI'''lPARES FOR LESS THA~ UR EQUAL:>:: fjINAkY COMPARES FO~ GREATER THAN Oq EQUAL

I :> BINARY COMPARES FOR GREArER THAi\J.+-----------+----------+------------------------------------++----------+----------+_._----------------------------------+

! FUNCTION! NOT IMPLEMENTED YET! PERHAPS ~ORD", "PRED" AND "SUCC"

+----------+----------+------------------------------------++------------------------------------------------------------------------+! SUP. OOC ••'iR.

ORIG1NAl ISSUEPHILIPS RESEARCH LA~ORATORY

E INn H 0 V E N! OATE 1981-02-26~ PAGE 3. 2. 2-

+------------------------------------------------------------------------+

Page 77: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

O.P .,L.·' Ul VOLUf-1E

CHAPTERSE'CiTO:'J

SUBS .'

SEq ~ A N U A Lt: PREL1MINA~Y VE~SrON

:H DATA TYPES2: THE SCAL~R TYPES4.:, THE TYPE Ii'JTEGER

I PROPOSAL t-~~_·_~--_·_-_·_·_·_-_·_·!

DISTRIBUTION1 F"REE

+- _._-----_._,_._---,---_.__._---,--,----_._._-,-,- --_._--_.__._,_._.--- - --_. _.- - -_._--_._._-_._---_.+

3.2.4 THE TYPE INTEGER-----_._-------~--

A VALUE OF TYPE INTEGER IS AN ELEMENT OF THE IMPLEMENTATIONDEFINED SUBSET OF TH~ WHOLE NUMHERS IN THE RANGE:

-214748364-13 (=- ·-2131) •• 2147~83b47 (= 21'31 -. 1)TAHLE OF OPERATIONS ~ND STANOARD FUNCTIONS THAT APPLY TO VALUES

OF TYPE INTEGER:

+~~_.~_._---_.+--~_.__._----,+--_.~------_._-------_.-----------------+iOPERATION ! FORM DESCRIPTION+. __._------_.+--------_.-.-----_._-------_._---------._---_._-_._-_..i ....

l •.

UNARY

UNARY

IDENTITY, THE OPERAND REMAINS UN­CHANGEDNEGATION, INVERTS THE SIGN OF THEOPERAND

~_._-_._._--_._+--,-----_._--.-----------------~--,--------------_._-~+I *

, BINAHY r..; ULTIP L I CAT ION , F OR~J\S THE PRODUCT. .OF THE OPERANDS

lJIV HINARy WHOLE DIVISION, FORMS THE INTEGER(WOT lENT OF THE OPERANDS

I BINARY SYNONYM FOR "0 I V I.

MOD iiINARY FORMS THE MODULUS OF THE OPERANDS& BINARY CATENATION

+_ .. -._-,--_._._+-----_._---+---~-----_.__._....-._-,-~---_._-------_._-----+l +

l -

i:;INARY

lUNARy

ADDITION, FORMS THE SUM OF THEOPERANDSSUBSTRACTION, FO~MS THE DIFFERENCEOPERANDS

+-----_._---+-~--------+---_._--------~-~-----------------_._-+

= 8IiHRy COMPA~ES FOR EQUALITYI <> BINARY COMPAi<ES FOR INEQUALITY.

< t3INARy COMPARES FOR LESS THAN<= 1 HINARY COMPARES FOR LESS THAN UR EQUAL>= tHNARY COMPARES FOR GREATER THAN OR ElJUAL

! > ~rNARY COMPARES FOR GREATER THAN

+----------+----------+--~----~---------------~-~-~--- -----+

+----------+--.-------+-------------------------~----------+l FllNCTHlN 1 N(H YET IMiJLEHENTED

.----------+----------+------------------------------------+

+------------------------------------------------------------------------+! SUP. DOC. I~ R•

o ~ I GL'JA LIS SUEPHILIPS ~ESEA~CH LA~ORATORY

E r ~ 0 H 0 V E ~

l DArE 1981-02-26! PAGE 3. 2. ~- 1

+------------------------------------------------------------------------+

Page 78: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+0 ....--..... - --.-._- -- ------.-.--,- -_._-.- --,- -------.-.- --.-.-.---- --._--.- --------.- --.-- ---._-.-....-.+.o .,p .L.-·

t VOLUt-iE~ CHAPTERt. SECT ION

s.ue s.

USE R MAN U A L1: p~ELIMINARY vE~SrON

3: 0 A T A- T YPES3:' THE SIJI1RANGE TYPE /0:

/ PROPOSAL

q: ARRAY TYPE

!--,-_._._--------~_._.~!

DrSTR I IJ UTIONt FREEl

+---,...-_.- -----_._-_._---,-_._.-..---- -_.__._._-,-_._._-,-'---- - -_.__._--- - -_._--- _._._. __._.- _.- ---,_._~.+

3 •. 3 THE SUBRANGE TYPE

THE SUBRANGE TYPE IS A SUIJSET OF CONSECUTIVE VALUES OF A SCALARrYP-E.

SYNTAX:

SU~RANGE TYPE------------->( CONSTANT ]---> q •• " --->( CONSTANT ]----------->NtJTE:

- SUdRANGES UF THE TYPES BOOLEAN AND LOGICAL ARE NOT PERMITTED.

3.4 THE TY?E ARRAY

wE REFER TO THE TYPE ARRAY AS A STRUCTURED TYPE IN CONTRAST WITHTHE SCALAR AND SUBRANGE TYPES THAT ARE UNSTRUCTURED. THE ARRAY TYPECONSISTS OF A FIXED NUMBER OF ELEMENTS ALL OF THE SAME SCALAROR SUljRANGE TYPE: THE ELEMENT TYPE.

ARRAYS CAN HAVE ONE OR MORE DIMENSIONS. THE NUM8ER OF DIMENSIONSI S E~ UAL T(} THE Nl)'M [j E~ 0F DEC LARE DIN DEXT YPES. AN I N[) EXT YPES H0 UL[)ALWAYS BE AN INTEGER SUBRANGE.

SYNTAX:

ARRAY TYPE

---> "ARRAY" --> "[" --+--> ( INDEx TYPE ] --+--> II] II --> 1I0F" --+l 1+--------_. "," <-----+

.--------~----<------------------------~+

+-->[ ELEMENT TYPE ]-------------------->Ir~DEX TYPE:--------------->[ INTEGER SU8RANGE ]--------------------------->ELD1f.rH TYPE------------+-->[ SCALAR TYPE]--+--------------------------->

+-->( SUBRANGE TYPE ]--+

+------------------------------------------------------------------~-----+l SUP. DOC. I'~ R•l ORIGINAL ISSUE

PHILIPS RESEARCH LAdORATURYE I NOH 0 V E N

! OATE lQ81-02-?hl PAGE 3. 3. 0- 1

+------------------------------------------------------------------------+

Page 79: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~------~-_._-----------_._-~--~----_._'---_.__._---_.---------_.__._--,-,-~------_._-+I 0 •.P •.L •. -

VOLUMECHAPTF.:RSECTION

! SUBS •.

u S ~ R MAN U A L1: PRELI~IN~RY VERSION3: DATA TYPES4: TtiF. TYPE ARRAY1: VtCTORS

/ PRl)P05AL I ,_'_. ~__.~•._._-.I. .DIST~IBU fION

~ FREEIo·

.,------_._--_._--,--_...- - ..-_._.__._._---_._-- - _._.__._-..--,-- - _._._- _.- - _._- -_.- _._._._.•._.- _.- -- ~_.+

3 •.4.1 VECTORS

A DATA ITEM IS SAIU TO ~E A VECTOR WHEN IT CONSISTS OF A CATENATIONOF TWO OR MORE ELEMENTS UF THE SAME SCALAR OR SUBRANGE TYPE. THE NUM­BER OF ELEMENTS IS CALLED THE LENGTH OF THE VECTOR.

VECTOR VARIA8LES AND VECTOR CONSTANTS CAN BE USED AS OPERANDS INE~PRESSIO~S AND IT IS ALLllWED TO ASSIGN VALUES TO A VECTOR VARIABLEIN AN ASSIGNMENT STATEMENTFURTHERMO~E IT IS ALLOWED TO APPLY BINARY OPERATO~S TO ONE OPERANDTHAT IS A VECTOR AND THE OTHER THAT IS A SCALAR.THE RESULT OF A aINARY OPERATION PERFORMED UPUN VECTUR UPERANDS ISDETER~INEU 8V PERFOR~ING THE OPER~TrON ELEMENT BY ELEMENT.THE: RESULT OF A Ui~ARY UPERATILJN UPON A VECTOR IS DETERfvlINED BYAPPLYING THE OPERATION TO EVERY SINGLE ELEMENT.

MORE INFORMATION ABOUT VECTORS CAN BE FOUND IN:

CHAP. a.2CHAP. 5.1CHAP. h.l.2.1CHAP. 7.4.2

VECTOR CONSTANTSVECTUR VARIABLESCATENATIONASSIGNMENT STATEMENT

+-------------------------~-------- ..----~------------- -------------------+~ SUP. DOC. NR.

ORIGIN~L ISSUEPHILIPS RESEARCH LAbORATORY

E I NOH 0 V E Nl OATE 1981-02-26~ PAGE 3. 4. 1- 1

+------------------------------------------------------------------------+

Page 80: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---_._-_.__._-------_._-_._-----'-----_._--_....._--_._-_.- --- _.__._-_._-_.- -_._,_._,-_._.- ---_.-+l.· o •.P. L•.•. U S E ~ t-I A N U A lI VOLUME 1 : P~ t:: L.r H r i'l ARY VERSION / PROPOSAL

1~____.____•__-_____~_.1. . .CHA·PTER 3: OA TA TYPES OrSTRIBUTION

I SECTION 5: TYPE CO MP A, T I f1 11_ I TY I FF<EE.' .I SU13s. 0: l.'+-------_.__._._-_._._-----------_.__._----_._.__._-_.-_._.__._-- - -_._-- - - -_._._.- - _._---- - .,--_._.+

3.5 TYPE COMPAfIBILTY

TO SECURE THE USER OF OPL AGAINST IL.L.EGAL AND INCORRECT USE OFD4TA~ MANY CHECKS UPON THE VALIDITy UF OPERATIONS ARE DONE ATCOMPILE TIME. THESE TESTS ARE PERFORMED USING THE TYPE COMPATIBI­LITY RULES.

3.5.1 IMPLICIT TYPE CUNVERSION

IMPLICIT TYPE CONVERSION IS PE~FOHMED IN THE FOLLOWING CASES:

A) VECTO R ! 'Z IN G •IF ONE Of THE OPERANQS IN A BINARY UPERATION, WITH EXCEPTIONOF THE CATENATION OPERATiON, IS A VECTOR AND THE OTHER OPERANDIS A SCALAR, THEN THE LATTER WILL BE CONVERTED TO A VECTOR wITHLENGTH EQUAL TO THE LENGTH OF THE VECTOR OPERAND AND ELEMENT TYPETHE SAME AS ITS FORMER 5CALA~ (OR SU8RANGE) TYPE.

B) 1. A aUOLEAN WILL BE CONVERTED TO A LOGICAL WHEN ONE OPERAND OFA BINARY UPERATIO~ IS A BOOLEAN AND THE OT~ER IS A LOGICAL.

2. ABO 0 LEA N IN ILL BE Cm~ VERTED T D A LOG I CAL WHEN ASS I GN IN G ABOOLEAN TO A LOGICAL VARIABLE.

3.5.2 SAME TYPE

1. T~O SCALAR VARIABLES ARE SAID TO BE OF THE SAME TYPE IF THEIRDECLARATION REFERS TO THE SAME STANDARD TYPE IDEr~TIFIER.

2. TWO SUBRANGE VARIAHLES ARE OF THE SAME TYPE IF THEIR DECLARA­TION SPECIFIES THE SAME LOtlER AND iJPPERHQUNDS.

3. TWO ARRAY VARIAdLES ARE UF THE SAME TYPE IF THEY HAVE THE SAMENUMtiER UF DIMENSIONS wITH AN EQUAL INDEX RANGE LENGTH, ANDTHE ELEME~T TYPES ARE THE SAME.

3.5.3 CUMPATIBLE TYPES

UPERATIONS CAN BE PERFORMED UPUN 2 VALUES THAT HAVE COMPATIBLE TYPES:

- THE TYPES ARE THE SAMt.- ONE TYPE IS A SURRANGE OF THE OTHER,

Ol-< dOTH AI-<E SlJtjRANGES OF THE 5A,"1£ TYPE.

+------------------------------------------------------------------------+l SUP. DOC. NR.

ORIGH'4AL IS::>uEPHILIPS RESEA~CH LAHURATURY

E I NOH 0 V E Nl DATE 1981-02-2bl PAGE 3. S. 0- 1

I.+------------------------------------------------------------------_._---+

Page 81: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

?--._-_._--------- ---_._._--,- ----_._------- --_._._.- -_._-----_._._--._,---._--,-,-,_._-- ----,_._.+o•.P .L •. -­VOLlP-1ECHAPTE~

SECTrO~J

SUBS.

USE R MAN U A L1~ PRELIMINARY VERSIONq:' C. 0 ~~ STANT S1: SCALAR CONSTANTSV:·

/ PfiOPOSAL ._--~--------~--, ,_I. .DISTRIBUTION

l F~EE

-+,--'-_._------ --- --_._._._-_._-----_._---,_._---_.- -- -- -_.- ----- ----_._.- - --,_._------_.+~

4.. CONSTANTS

A CONSTANT DENOTES A VALUE OF A CERTAIN TYPE. THIS VALUE CANNOT CHANGE DUt-<Ii'lG EXECUTION OF THE STATEMEI\jTS.

CONSTANTS CAN ~~ OEVlnED Ii~rO SEVERAL CLASSES ACCORDING THE TYPETHEY BELONG TU. OPL DISTI~GUISHES BETWEEN SCALA~ AND VECTOR CONSTANTS.

a.l SCALAR CONSTANTS

SCALAR CONSTANT-.--.-,------,---.--....--+.--.-.>- ( INTEGER CONS TAN T 1-,--+--------------,-.--->.

.-.-._> r BOOLEAN CONSTANT ) ---+1 1+_.__.> ( LOGICAL CONSTANT J -,~-+

I.+-~-> [ CHAR CONSTANT ) ---+

HHEGE~ CONSTANT----+,-,---.-.---+-->. [ UNS IGr~ED INTEGER ) ------------------,-------->

+ __,> "_.tI _.+

UNSIGNED INTEGER-----_._._--------+--_.>( DIGIT ]---~-.------------------------------>

1+-------<-------+.

BOOLEAN CONSTANT---------------+--------+--------+--------+

"FALSE"1

"0 ,.

l

I.ItTRUE" II 1 "

1+--->----+--->----+--->----+-------------------->

LOGICAL CONSTANT-------~-------~--------+--------+--------+--------+-- ------+

"FALSE" It 0 ..i

"TRUE"I.

" 1 It

I.u.,." "~u

+--->---+--->----+--->----+--->----+--->----~--->----+ -->

+------------------------------------------------------------------------+i SUP. Due. I~ R •i OQIGINAL ISSUE

PHILIPS RESEARCH LA80R4TORYE I NOH 0 V E N

~ DATE lQ81-02-26~ PAG~ 4. 1. 0- 1

+------------------------------------------------------------------------+

Page 82: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-----.---'---------.-.----.-.---._-._------"----,----.-.-.,.------.- --.-_.- -.- --.- -.-......-.----.- ---.- T

! O.,P-.L.- U S E K 1'4 A N U A LI VOLUME 1 :- Pk'ELltvlINARY VERSION / PROPUSAL l----·-----·------·---!1- CHAPTER 4 : CONSTMHS DIS TR I f3 UTI 0 N

SEeTIOf" 1 : SCALAR CONSTANTS i FREESU8S ._ 1 : A-i";U IG U 1 TIE S+------'_.__._--_._._--------'-~ ----_._-_._._._._._--- _._,- ... _._- -'-----_._,_._--_.-_._----- ...-.. +

CHAR CONSTANT-.-.--------------.---> "'" -->-( CHA~ACTER 1--->- .. ,,, -----------.---.-.--.-->

4.1.1 TYPE AMBIGUITIES wITH SCALAR CONSTANTS

THE DEFINITIONS OF SCALAR CONSTANTS DO NOT LEAD TO UNIQUETYPE OETEKMINATIONS, 8ECAUSE "0" AND "1" CAN BE OF TYPE BOOLEAN,LOGICAL AND INTEGER; "3" IS OF TYPE LOGICAL OR INTEGER.THE TYPE l)F AN Al.1l1rGUOUS CONSTANT IS GENERALLY OErER~INED BY ITSCONTEXT. AM8IGUITIES ARE RESOLVED BY APPLYING THE FOLLOwING RULESAS MANY TIMES AS NECESSARY:

1. APPLICATION OF A LOGICAL OPERATO~ (A~O,OR,EQUrv/EXOR,NOT)

DE TERMr I" ES :"0" AND "1" TO BE OF TYPE BOOLEAN;"3" TO BE OF TYPE LOGICAL.

2. TdE TYPE OF THE SECOND OPERAND IN A BINARY OPERATIONDETERMINES THE TYPE OF THE AM8IGUOUS CONSTANT OPERAND.

3. IN ASSIGNMENTS THE TYPE OF THE, VARIABLE DETERMINES THE TYPEOF ~N A~BIGUOUS EXPRESSION.

4. AS LONG AS RULES 1 TH~IJ 3 00 NOT APPLY, ALL PQSSIdLE VALIDINTERPRETATIONS WILL ~E ADMINISTRATEO.IF FINALLY THE TYPE HAS NOT BEEN OETE~MrNED BY THE CONTEXTAN ERROR MESSAGE IS SUPPLIED.

+----------------- ... ------------------------------------------------------+1 SUP. ooe. r~R.

lOR Ir.; I rJ ALIS S lJ t:PHILIPS RESEARCH LA~ORATURY

~ I N D H 0 V E N1 DATE tqSl-02-2h1 PAGE 4. 1. 1- 3

+-----------------------------------------_ ... -----------------------------+

Page 83: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+._._--_._-,---'_._._-_._--_.__.__._--_._----....--'--_.-_........--_...-....-..------------_.__.- ---- _._+O_P •.L •. -· uVOLUf',\ECHAPTERSECTION~U8S.

5 E R MAN U A L1: PRELl~INARY VERSION / P~OPOSAL

q: CO j'J S TMH S1: SCALAR CONSTANTS1: A~~IGUITIES / EXAMPLES

~ -_.__._-_._._---- ---- --_. ~

DIS,TRI8UTIONi FREE

+,----'--_._- --_._--_._-_._- --_._.__._---,--_._------ .... -.----_._._.- --- -----,--_._._._._._._._----_._+.

E X Ar4 PLE 5 :,

E~PRESSION THAT YIELDS AN INTEGER RESULT.

C3 1-- 1 ? 3.*0 ) DI V 2

HiE: VALUE AFTER EVALUATION IS THE INTEGER VALUE "2". IN THISEXAMPLE THE SUB-EXPRESSION BETWEEN PA~ENTHESES IS EVALUATEDT~rCE, ONCE ASSUMING INTEGER CONSTANTS AND ARITHMETIC OPERA­TORS, O~CE ASSUMING LOGICAL CONSTANTS AND LOGICAL OPERATORS("+" IS SYNONYM FOQ "OR", fl." FO~ ~AND~). THE ~OIV" OPERATORlHHf]UEI_ Y OETERMHJES THE RESUL T OF THE SUB-EXPRESSION TO BEOF TYP.€, INTEGER._

EXPRESSION ~ITH LOGICAL OPERATORS.

1 OR 3 AND 0

THE VALUE AFTER EVALUATION IS THE LOGICAL "1".

EXPRESSION ~ITH VARIABLE AS AN OPERAND.

L+3*1

IF ~L" IS OF TYPE LOGICAL THEN THE K+" SYMBOL IS INTERPRETEDAS KOR" AND "*" AS T~E "AND" OPERATOR. "3" AND "1" A~E

CONSIDERED AS LOGICAL CONSTANTS.

EXPRESSION ~ITH 2 DIFFERENT INTERPRETATIONS.

1. INTEGER EVALUATION RESULTS IN "3".2. LOGICAL EVALUATION RESULTS IN "4".

NO~ THE CONTEXT OF THIS EXP~ESSION SHOULD FORCE THE TYPE OFTHE RESULT!

+-------------------------------_._---------------------------------------+~ SUp. Due. NFl.

ORIGINAL ISSUEPHILIPS RESEARCH LA~ORATORY

~ I N D H 0 V E Ni DATE 1981~02-26

! PAGE 4. 1. 1- 1

+------------------------------------------------------------------------+

Page 84: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+_._---_._._-_._....-_._._._'_._--_._---_._--...-_.__._----~_._._.- -,_.__.._-_._~ _._.- ---_._._- _._.- -_._._._- -,+

o •.P- •.L.­1 VOUJfv\E-1- CH A.PTER

SECTION1 SUBS.

USE R MAN U A L1:. P'R ELlion N AR't' VER5' ION4: C-O~JSTAilJ TS2: VECTOR CONST~NT&

0::

I PROPOSAL !--_._----_.__.__._._--_.!! 0 I S TR I BUTI 0 N! FREE

.~~---------_._---_._------'------_.~--_...__._._.__._---_._---_.__._--_.__.__.__._._._._----+

4 •.2 VECTOR CDillS TMH 5

VEe TO R C0 hi S TAl'J r S ( 0 R STRue TUREO CON S rAN T S) C lJ f'l SIS T 0 F A SE LJ UE NCEOF ELEMENTS OF TYPE EITHER BOULEAN, O~ LOGICAL OR CHAR. THE NUMBER OFELEMENTS IS CALLED THE LENGTH OF THE VECTOR CONSTANT.

SYNTAX:

VECTOR CONSTANT---------------+--->( CHAR VECTOR CONSTANT )---+------------>

I

+---.-.> ( BOOL.EAN VEC TOR CONS TAN r J ---+I.+---> [ LOGICAL VECTOR ClJNSTANT ]---+

CHAR vECTOR CONSTANT_._.__._._._._,--- _.__._._....-- .... - _._.>.

BOOLEAN VECTOR CONSTANT

" I It· --+-->( CHARACTER ]--+-->! 1+~_.- •._----<-~--~--_.+

"' K .__.>

__,_.__.-,--,-,_,_-,-,_-_,---,---> l1'" _._ •. __+. __ > "0" _._+_._.+ __ > n'" __ ~ Ul>

+--.>. "1 H -~+-

+._-------<-------+LOGICAL VECTO~ CONSTANT-_._-----------_._------> " I " --+--_.+--> '10" -_.+--+--> " '" -- - - _.- - _.:>

+ __.> It 1" .. _.

I .--"> "." --+4

I l.+--> "3" --+

l 1+--> "tJ." --+

+~-.----~<-------+

~JOrES ArWUT VECTOR COi\JSTANTS:

1. VECTOR CONSTANTS SHOULD NOT CONTAIN AN ENO-OF-LINE, I.E.THEY ARE NOR PERMITTED TO EXTENO PAST THE E~D OF A LINEOF fJR()(;~A~ Tf:XT.

2. VECTOR CUNSTANTS CAN HAVE 72 ELEMENTS Af MAXIMUM.3. A SINGLE ~UOTE ~rTHIN A CHAR VECTOR CONST~NT IS ~RITTEN TWICE.

+------------------------------------------------------------------------+l suP. DOC. W~.

l O~IGrr~AL ISSUEPHILIPS RESEARCH LABUR<\TtJRY

E I NOH 0 V E ~

1 DATE t9~1-02-2b

1 PAt-,E 4.2.0-+------------------------------------------------------------------------+

Page 85: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-----,---,----,_.__.__._-----_._-_._'---_._-_._--- _._----------_.- -_._-- -_.--_._---_._- -_.-- _._.+

I 0 .,P •.L. - UVOL ljt-1ECHAPTER

I SECTIONSUBS.

s E R ;"" A N II A L1: ~~ELIMINARY VERSION / PRUPOSALt.a: CONSTANTS2: ViCTOR CONSTANTS1: AMBIGUITIES / EXAMPLES

!---------~_._-_.~--_.!

IJISTRIBUTIONi FREE

+-_._-------'_._._-_._._--'--_.__.__._._-_._._._._-_.--_.__.__._._,----_.- -_._- _._------ _.__.- --_.- _.•-

4~2.1 TYPE AM~IGUITIES WITH VECTOR CONSTANrs

THE TYPE AMBIGUITIES OF VECTOR CONSTANTS ARE RESOLVED BY APPLYINGTHE SAME RULES AS FUR AM8IGUOUS SCALAR CONSTANTS TO THE ELEMENTS OFTHE VECTUR CO~STANTS.

EX AI-1PL ES :

EXPRESSION rlITH LOGICAL OPERATORS.

'00101' AND '11010' EXOR '10*03'

ACCORDING TO THE OPERATOR PRECEDENCE RULES THE "AND" OPERATIONI S E VAL UATE 0 HEFOR F. rHE 11 EXuR", RES ULTIN GIN THE B0 [) LEA r. VECTORCONSTANT '00000'. THE RESULT AFTEQ ~EXOR-ING" IS THE LOGICALVEe TOK '1 0 *0 # ' •

EXPRESSION ~ITH VARIABLE AS OPERAND.

'10101111' + BYTE

IF "BYTE" IS AN ARRAY OF 8 LOGICAL ELEMENTS, THENT rl E. n of- .. SYMIj 0 LIS I NTERPRE TEO AS THE " 0 R II 0 PER Ar 0 RAN 0THE VECrOR CO~STANT IS OF LENGTH 8 AND HAS 800LEAN ELEMENTS.THE CO~STA~T ~ILL BE IMPLICITLY CONVERTED TO A LOGICAL VECTOR.

ASSIGNMENT OF VECTOR CONSTANT TO VECTO~ VARlABLE.

dYTE:'='10101111'

WITH "~YTEtI OF THE SAME TyPE AS IN THE PREVIOUS EXAMPLE,THE C() N ;) TAN T IH LL I:H:: CON VERTEl) T0 A LOG I CAL VECTOR •

+------------------------------------------------------------------------+i SUP. 00C. NR.

o~ I Gl'~ AL ISSUEPHILIPS RESEARCH LAdORATORY

E I NOH 0 V E N! DATE 1981-02-26! PAGE: 4. 2. 1-

+----------------------------------------------------------------------~-.

Page 86: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+- _._._-_._-_._----,----_.----_.- --_._,-----...-----•.• -,- -.__._- -,- -,--_._...._-- --_._._-_.__.__._._._-_.+

I~ ._---_._-_._--_.'. .O•.P.L.,-

l.. VnLur~E

CHAPTE RSECTIONSU3S.

USE R MAN U A Ll~ PRELIMINARy VERSION / PROPOSAL:~: CON S rAN T S3: E. X A.t'WL Es0::

DISTRIBUTION1 FRF.EI. !

+._,---_._~--...._---,-----------_._-'_._-_._---...'-_.~.- . __.__.__._---,---..---_._.__._-_._-----------+.

Q.3 EXANPLES OF CONSTANTS

+._-----~~_._.+---------~-~_._._-----,-------_._----------------_.~---+

1 CONSTANT 1 POSSIBL.E TYPES+---~~-----+-----_._--_. __._-_.~_._---------_._------ ..._.__._--_._----_.•

0 BOOLEAN/LOGICAL/INTEGER1 ~OOLEAN/LOGICAL/INTEGER !2 If\lTEGF.:R3 LOGICAL./INTEGER

•.qg II'JTEGER....48 INTEGER

12345 INTEGERFALSE 800LEAN/LOGICAL

#. 1 LOGICAL, A' CHAR

I 'DON'tT' I CHAR VECTOR OF LENGTH S. .I 'FALSE' CHAR VECTOR OF L.ENGTH 5 !.'

'011011' fiOOLEAN VECTOhl OF L.ENGTH 6/lUGICAL VECTOR OF- LENGTH 6/CHAR VEcrOR OF LENGTH h I.

1 ' 1#·0 *,1 U1 ' LOGICAL VECTOR OF LENGTH 7! CHAR VECTOR OF LENGTH 7

'1)110' ! CHAR VECTOR OF LENGTH "~._---_._--~_.+--------_._--------~-~-~-----------~--- ---------+

+-----~-~-----------~---------------._-----------------~----~------- .. ----+l SlltJ. noc. ,~R.

OK! GI IH LIS:) UEPHILIPS KESEARCH LA8URATORY

E I N D H 0 V E ~

! DATE 1981-02-261 PAGE ~. 3. 0- 1

+------------------------------------------------------------------------+

Page 87: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---_._._--------~._--_._._-~~~-'-----------'------~~-----_._-_.__._---_._-_._-----_._.+l. 0 •.~ • L .,-'

VOUH-1EC.HAPTER

1, Sf-eTlONSUBS.

USEF( f"'lANlJAL1~ ~RELl~INARY VERSIUN I PRUPOSAL5: VARI Afj L ES1: DENOTATION OF VARIABLES0:

t . . ._. __.__ ,. .! DISTRIBUTIONl FREE

..----_.__._-_._.__._~--_._--_...,------_._'-'---,-- -,-,----~...-_._-,- -_.__._._.- -,_.~-_._._-_._.-.__._.+

5., VARIABLES

OPL DIVIDES VARIA8LE DATA IN10 T~O CLASSES:

1. THE SIMULATION OUTPUT SIGNALS.THESE VARIA~LES ARE DENOTED BY THE SAME NAME (IDENTIFIER) ASrNTH ENE T'tJ 0 q K DES CRIP T ION. THE ARE C0 I~ SID ERE 0 PRE 0 ECL ARE nOF TiPE LOGICAL. THEY ~UST NOT BE OECLARED IN THE OPL PRUGRAM.ASSIGNMENTS TO SIGNALS ARE NOT ALLOWED. VIULATION UFTHIS RULE WILL BE FLAGGED DURING COMPILATION.

2. THE USER DECLARED VARIA8LES.THESE VARIABLES ARE INTRODUCED IN THE VARIABLE DECLARATION PART(SEE CHAP. 9.2) ANO CAN BE USEQ FREELY.

5.1 DENUTATION OF VARIAdlES

SIGNALS ARE DENOT~D BY THEIR IDENTIFIER.

A USER OECLARED VARIABLE CAN EITHER BE DENOTED bY ITS IDENTIFIERORB Y THE IDE Nr rFIE R F0LLOw EO BY A SIJR SCRIP T:

1. TU DENOTE AN ELEMENT OF AN ARRAY, THE SUBSCRIPT CONSISTSOF AS ~ANY INDEX EXPRESSIONS AS THE DIMENSIONALITY OF THE ARRAY,SEPARAT~D HY CUMMAS AND PLACED BETWEEN SQUARE BRACKETS.

2. A VECTOR VARIAHlE IS DENOTED 8Y REPLACING ONE OF THE INDEXEXP~ESSIONS BY A VECTaq SUBRANGE, ~HICH SPECIFIES A NUMBER OFELEMENTS dY STATING A LOWER AND UPPERBOUND.THE LOWERHOUNQ SHOULD BE LESS THAN THE UPPERBOUND1THE dOUNOS MUST BE INTEGER CONSTANTS.

AN INOF.X EXPRcS~ION MUST YIELD A VALUE OF TYPE INTEbER OR A SU8RANGETHE~EOF. THIS VALUE MUST dE wITHIN THE OECLA~ED I~OEX RANGE.

SYNTAX:

VARIAbLE

------>[ VARI4BLE tDENTIFIER ]---+--------->---------+--------->+-->[ SUBSCRIPT )---~

+------------------------------------------------------------------------+l SUP. 0 LJ C. :'J ~ •l ORIGUJAL ISSUE

PHILIPS RESEARCH LABORATORYE I N 0 H 0 V E N

l DATE 19R1-02-2bl PAG~ 5. 1. 0- 1

+------------------------------------------------------------------------+

Page 88: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+- ...'----<------'-- ---<-'-'_._'--'-'--'_._---'-'-'-'-~'-'-- -,--_...._,_.__._,-~._,-_. __._._-_._.._._._--_._._._---._.- -+o•.p ~.L .-­VOLU~1E

CHAPTEr<SJ:CTIDNSU8S.

U S t R MAN U A L1: P~ELI~I~ARY VERSIUN / PRUPUSAL5: VAtHAHLES1: DE;fJl1TATIUN UF VARIAtiLES\) :

~--_.__._._.~--_.__._--_.~!

DISTRluurION~ FREE

..... ._._._._._._._ .... _,_._._-_. ._.__._.__._._. · ·_·w·_·_· · ._.__. ._._.__._,_._._._,~. ._._ - +

SUBSCRIPf----._--.> "l" -'-1-->--+---> ( INDEX EXPRESSION) ----+-·>-ir--·> 11}" ---.>

1 l+---> ( VECTOR SUBRANGE ]----+

.....- _._.__._.- _._-- -- -_._.INDEX EXPRESSIO~

tt It, < - _.- - _.- -._._.- - _._~--~ .

--,---.--.•.------.--.-.-.-----> ( EX PR E3S ION J -.----------,--.-- .. ---.----..---.>

VECTOR SUt;RANGE

----.-----.----> ( CONSTANT] --.--> " •• " ---:> ( CONSTANT) ----------.->

EXAMPLES:

ASSUME THE FOLLOWING DEFINITIONS ANO DECLARATIONS:

CONST MIN = -10;~lAX = 10;

VAo<. ACOUNTI , J , K

MEMORY

ARRAY [M I ilj •• iH X] 0FLU GI CAL iUHEGER;INTEGER;A~RAY(O•• 255,O •• 15J OF 800LtAN;

+----------------1------------------------------------------+l VARIAHLE l DESCRIPTION l+-----------------+-------------------------,----_._----_._-- ... -+

BITDeIT!CUUNTA (i< JAA(;IAIN •• MAXl

r"'EMOR YI-I Er.; l)h> Y (I , J J,.\ El'-I U~ Y (I , lJ •• 7 ]

SIGNALSIGNALSCALAR VARIABLESCALAR VA~IARLE, ARRAY ELEMENTAR~AY VA~IABLE, vECTOR VARIABLEARRAY VARIAALE, V€CTOR VARIABLEEQUIVALENT ~ITH "A"ARf(AY VARIABLESCAL~R VARIA~LE, ARRAY ELEMENTVECTLJR VMdAt1LE8 ELEMENTS SPECIFIED.

+----------------~-----------------------------------------+

+---------------------------------- ... -------------------------------------+l. SUp. Qlle. i~k'.

ORIGINAL ISSUEPHILIPS RESEARCH LA8URATURY

E I N D H 0 V E N! DATE 1981-02-26! PAGE 5. 1. 0 - 2

~----------------------------------------------------- -------------------+

Page 89: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_._.__._,_._.- _._,----,- ---_.__._--,_.__.- -_._--,--- -_._._._._-,- -,-_.__._--- _._--'- - -- -_._._-- _._,_.- -,- +

O •.P ..L •. -·VOL Ui"'ECHAPTF:R

L SECTIONSUBS.

IjSE~ r.1ANIIAL1: PRELIHINARY VEHSION I PROPOSALb: EXP ~ ESS I I) N.'il) :

o:

~ ....-.~--_._._- -_._,_.---,_._,-, ~

OISTRIBUrIUi\I! FREE

+----_._--------_._~._---_._--_._--_._._-----_ ....._'_._-._---_._._.~_._---,~------_._---_. __.__.+

h. EXPRl::SSIONS

AN EXPREsSION IS A RULE FOR CO~PUTING A VALUE ~Y APPLYING UPERATORSTO OPERAfIJUS. OPERAI'./DS CAI\J 8E CONSTANTS, VARIABLES, FUNCTION CALLS ANDTABLE ~EFERENCES.

SYNTAX:

EXPRE SS r0 f"

-·-·>·l 5 r ~-1PLE EX PRE;3S ION J --.-.--.---.... -.-.------------.>-------------+---.>! !

+.-<.--'+--"< -.-.+-< -'-T-'-'-'< --+ -< ---+ - --> -.----+ -.-._.> -.- - --+ I.If __ H

n<>" "<" 1'<=" " >.n It>;. It It E X0 R "I. II E (J UI V"

li

,.+--> ( SIMPLE EXPRESSION J--+

SIMPLE EXPRESSION

---+-.---->--,--+--.> [ TERM J --+-.-----,---.>----- ..--~----+----+---,-------->"+"It .. " tl OR It

1+--( TERM ] <-----+-<--+-<_ .. +

+ _> 1/ -to-" .....

+_> It _." _ ....

TEFU·1

-->[ FACTOR ]- ..+------->--------+---+---+----+-----+-----+----->

"*" "&" "I" "DIV" "MOU" "AND"1 l 1 ~ 1 l

+--[ FACTOR J<---+-<-+-<-+-<--+--<--+--<--+

+-----------------~------------------------------------~-----------------+! SUP. DOC. PJ R •l ORIGINAL ISSUE

PHILIPS RESEARCH LABORATORYE INn H 0 V E N

l GATE 1981-02-26! PAGE 6. O. 0- 1

+-------------------------------------------~--------- -------------------+

Page 90: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+.~~.__._,-----,---------_._._----,--~-_._~_._--------._._~-_._-----_._----_._---_._--_._-+o•. p ..L .-_.VOLUMECHAP;rE~

SEC.rIO NSUBS.

USE R ["I A ,"J U A L1: pqELIMtNARY VERSION I PROPOSALb: EXPRESSIONS0:0:

!--,--------_._._----,-!DISTRIBUTION

l FREE

+.~_._ ....__._.- _._- -------,---,----- -_._-..--._-'----_._._.- ---_.__._.- _.__._.- -- _. __._- -_.__.- _._- _.- +

FACTOR

_.-+---> ( UNSIGI~ED COi\jSTANT 1--------·----·-----·-·---·-·-·-·----·-----·+--->-1 1+--._>~( VAR I..A~LE ) _. ._.__._.~. .__.__. .__l_._,__........__,_·_. -----+1+--.> [ TA8LE r 0 EN T I FIE R 1 -,----+_- -> II ( 11,__. ( EX PRE Ss ION ) __ II) " __+1 l' l+--~[ FUNCTION IOENTIFIER J-+----------~-->---------------+1 1+-_> "(" -_>( EXPRESSION ) __ > II)" ------------------------+

I.+--~ "NOT" --->[ FACTOR )---------------------------------+

THE SY,iTAX OF EXPRESSIONS IMPLIES AN OPERATOR PRECEDENCE:

1 •. NOT2. *', DIV, I, r.WlJ, AND, &3. +-, -, OR£l. =, <>, <, <=, >, >:

EXOR, EQUIV

(THE NEGATION OPERATOR)(THE MULTIPLYING OPERATORS)(THE ADDING UPERATnRS)(THE NORMAL RELATIONAL OPERATURS)(THE SPECIAL RELATIONAL OPERATORS)

THE RULES OF EV~LUATrON OF AN EXPRESSION ARE:

1. THE OPERAfOR wITH THE HIGHEST PRIORITY, I.E. COMES FIRST IN THEPRECEDENCE LIST, WILL BE EVALUATED FIRST.

2. IF THERE ~RE OPERATORS OF THE SAME PRECEDENCE IN AN EXPRESSiON,THE EVALUATION PROCEEDS FRO~ LEFT TO RIGHT.

3. RULES 1 Aill 0 2 CAN BE 0VEf( RI I) 0EN BY USE 0F PAR ENTH ESE S •PARENTHESES CAlJSE THE PAt-(T OF THE EXPRESSION THAT IS ENCLOSED BYTHE~ TO BE EVALUATED FIRST.

+------------------------------------------------------------------------+1 SLJ p. 0 UC. tJ R •l ORIGI~AL ISSUE

PHI LIP S RES EAR CH LAd UIH TUf-.:YE I NOH 0 v E N

~ DATE 19d1-02-26l PAGE 6. O. 0- 2

+------------------------------------------------------------------------+

Page 91: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--_.----_._._---_._--- -,-,_._---,_._,---,---,---,-_.----_.- -,_.-----_._._._._-,- -,-_._._'- _._---,---_._,_.+O•.P •. L •. --VOL.UME:

l CHAPTERSECTIONStJfjS.

USE ~ MAN U A L1~ PREL.IMI~ARY VERsIUN / PROPOSALb: EXP~F..:1S10NS

0:0:

1-----.-,---.--- - ..-.-- --- !lJISTRIBUTION

1 FREE

+---_.__._-_._-_.__..------_.- -,-_._-_._._._._----- -_._,- --_._-_._,-'-,--- -,--,-,_.- _._._._,-,---,-,_._- ---_.+

NOTES:

- THE CONSTANT USED AS A FACTOR IN AN EXPRESSION MUST BE AN UN­SIGNED CONSTANT, I.E. MAY NOT 6E PRECE0ED ~Y A "~" OR "_" SYM­80L.

- THE UNARY OPERATORS ~-" AND "+" MAY NOT IMMEDIATELY FOLLO~ AtHi~ArH OPERATnR, E.G. EXPRESSIONS LIKt: "3 +. __A" A!\jD fiR * -8"ARE Nor AU.OwED; PARENTHESES i-1USr BE USEO: "3+ (--A) If, "6* (-1:3)".

- ALL UPERATORS, EXCEPT THE NORMAL RELATIONAL ONES, A~E APPLI­C~oLE TO VECTOR uPERANDS.

EXAMPLES:

FACTORS;11COUNTSEG7. INT (BYTE [1 •• 7l)SIMTIME(COUNT * I -+-1)NOT BYTE

TERMS:

COUNT '* I, 1 1 11' & '0 10 1 'BYTE ANO BYTE [OJ

SIMPLE ~XPRESSIONS:

x + Y--1P OR Q

EXPRESSIONS:

CONSTANTVARIABLETABLE REFE~ENCE

FUNCTION DESIGNATORSUB-EXPRESSIONNEG AT 10 .'J

MULTIPLICATIONCATENATIONANOING

ADDITIONSIGN INVERSIDNORRING

(P EQUIV LJ)P E(~UIV Q

COUNT <: I

= (P EX OR Q) EQUALITYEQUIVALENCINGLESS THAN OR EUUAL

+------------------------------------------.------------------------------+! SUP. DOC. NR.

ORIGINAL IS3Uf:PHILIPS RESEA~CH LABO~ATORY

E I NOH a v E N! DATE 1481-02-26! PAGE 6. o. ()- 3

+------------------------------------------------------------------------+

Page 92: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~~~~---,----,---.--~----.-.-----.----.----.--- ,-------_._._._-_._._._--,---,_._._--,--_._-+1 o •.P •.L.-· U S E R 1<1 A, N U A, L

VOL.UME 1 : PRE LIM IN A·R Y VERSION / PROPUSAL1 ••___~_~_._____.__.____ 1· .

l. CH APT'ER 6 • EXP~ESSlnNS OlSTRIBUrIUN'.I SECTION 1 : OPERATORS , FREE.' ·I SU~S •. 1 : ~OT / 2 : "',UL T IPL YLNG OPE.RATORS 1. •+----_... -._-'_._._'_._-_._--_.__.--._._-_._----_._-------._._,-_._._.~ ... ---_...._......_--~---_._-_._-----_._.+

b.1 OPERATORS

IMPLICIT TYPi CONV~HSIUN WILL aE PERFORMEO ON AN OPERAND IN URDERTO MAKE If rVPE COMPATI8LE WITH THE OTHER OPERAND.

b.1.1 THE NOT OPERATOR

THE I'J 0 TOP t. KAT uRI) t NOT ES NEG AT ION 0 FIT S BOO LEA N LJ PER AfJD. 1FTHEOPERAND IS OF TYPE LOGICAL THEN THE FOLLOwING fABLE IS APPLIED:

NOT Q 1 • 3 ~

~----_.+._--_.__._---1 1 0 * # #

6.1 •.2 TI~E MULTIPLVli'lG OPERATORS

+-_._---_._._-+._.__.~-~-'-_._-+----------_._------+-----------_. __......+! OPERATOR 1 UPERATION 1 TYPE OF OPERANDS 1 RESULT+-_._------_.+-----------+----------_._------+-----_.----_._----+

1t MULTIPLY INTEGER INTEGERl)! V, / 1 DIVIDE INTEGER INTEGER

1010 l) ~·IOOULO INTEGER INTEGER& CATENATE ANY TYPE VECTOf<

ANO, * Af~f)ING BOOLEAN, LOGICAL 800LEAN,LOGICAL.l+---- ... - -- --,+ ...- -_.- - - - ---+ •.- -- --- _.- -_._-- --- - + ... -- --- - ---- --- -- +

+------------------------------------------------------------------------~~ SUP. Ol1e. i'~R.

oRIG I ;~ ALIS SUEPHILIPS RESEARCH LA80HATO~Y

E I NOH 0 V E Nl OATE 1981-02-26l PAGE b. 1. 1- 1

+----------------------------------------------------- -------------------~

Page 93: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+_._--_._---_._-_._~---------------_._--_._-_._-_._-_.----_._-_.__._---_._--------_._._--_._+

1~~-·-~-·_-·--·--~-·----··!

IJ •. f' •.L •. -' IIl- VOLUME­

CHAPTERSECTIONSUdS •.

S E R MAN U A L1: ~RELI~INARY VE~SION / PROPOSALb: EXP~ESSIOi\JS

1: UPERATORS2: THE MUlTrPLYING OPE~ArOR ,.&"

OISTRIAUTIONl FREEI I

0-

+._-_._--------_._._------_._._._._._.__._---_.__._._- --_._----_._--~_. __._-_._--~----~------+.

b.l~2~1 THE CATENATION OPERATO~ "&,.

~lTH THE CATENATION OPERATOR wE OBTAIN THE POSSIBILITY TOCONSTRUCT VECTO~S OlJT OF SUBVECfORS AND/OR SCALARS. THE RESULT OF ACATENATION OPERArIO~ IS A VECTOR WITH LENGTH EQUAL TO THE SU~ OF THELENGTH OF THE OPERANDS. A SCALAR OPERAND IS OF LENGTH ONE. THE TYPEOF THE ELEMENTS IS DETERt-\TNED BY APPLYING THE TYPE COt<1PATIBILTY RUl.ESTO THE OPERANUS (OR ELEME~TS OF THE OPERANO, IN CASE IT IS A VECTOR).

EXAMPLES ~ITH CONSTANTS AS UPE~ANDS:

EXPRESSION: EQUiVALENT: RESULTING ELEMENT TYPE:

'A' & 'BC' 'ABC''1111' & 'ul01' '11110101'3 & 4 & 5FALSE & * & TRUE '0*1', 0 I & f *' & '1' , 0*1 '

CHARDEPENDS ON TrlE CONTEXTINTEGERLOGICALCHAR

NOTE THAT IN THE LAST AND SECOND TO LAST EXAMPLE THE STATED EQUIVA­LENT MUST 8E pur IN TrlE CORRECT CONTEXT TO O~TAIN THE CORRESPONDINGELEi"1ENT TYPE.

+------------------------------------------------------------------------+! SUP. Que. ;'-JR.! ORIGIN~L ISSUE

PHILIPS RESEARCH LA80RATORYE I N D H 0 V E N

! OATE 19R1-02-2b! PAGE b. 1. 2- 1

+------------------------------------------------------------------------+

Page 94: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-~--_._~-_._~-_._-_._-_._._-_.__._._-_._--------_._.--------_.__._---_._-_._,----_._---_._--_.+o_p ..L. •.- U S E R 1"1 A j~ U A L

1 VOLUME 1 : PREL IM!:'JAh'Y VERSION / PROPOSAL ,----_._._-_.__._-_._,_~_I. .1 G:H·AP fER 6: EXPRES S IONS OrSTRI8 1JTION l, SECTION t : OPE R 6, TO RS' ! FREE.'

SUt3S •. 3: A.DO LNG OPERA TORS / .- •. I I. .+._.__.__._._._.__.__._._._._._.__._._-- ---_._------_._._--_._.__._._--- _. __.- -_.- ---_._-_._-_._._._._._._--- --+

6.1.3 THE ADDING OPERATORS

~_._._---_. __.~+-_._._._--~~----+--,-------_._~---_._.--+---~------,------+.1 OPERATOR 1 OPERATION 1 TYPE OF OPERANOS 1 RESULT+.-._-.- _. .+ ._._._. ._.+ _.__·__._,_._c_·__,_._,_. +.- ._._. , .__.+

+

(J R, +

AD0!T!ON INTEGER1 SUdSTRACT ! INTEGERt ORRING 1 800LEAN~LOGrCAL

INTEGER1 II'JTEGER! 800LEAN,LOGrCALl

+ .__.__._._.__.+ ._. ~-_---,--c--.----.-~--_+_. . .+

WHEN USEO AS A Ui-JARY OPERATOR, fl,.." DENOTES SIGN INVERSION, ANDH~U DENOTES THE IDENTITY OPERATIO~.

6.1.4 THE RELATIONAL OPERATORS

+._.~------_._.+._--_._._---_._-------_._----------+_.---_._---------_.+

! OPERATOR l TYPE OF OPERANDS t RESULT.'...._--,_._---_.-- .... -._~_._._._.- .......--_._._---......-- ... _' ... - ...-- .... -- ... - .. _--_._.•._,- ........._.+

<= > >=1 ANY SCALAR DR SUBRANGE TYPE<>

EI~urV

EXOR

< 1

800LEAN, LO~rCAL

BOOLEAN

BOOLEAN,LOGICALl....-~-------+----,_._---------_._._._---_ .. --...---+-------~--------+

6.2 FUNCTIONS AND TAdLES IN EXPRESSIONS

6.2.1 FUNCTION DESIGNATORS

A FUNCTION DESIGNATOR SPECIFIES THE ACTIVATION OF A FUNCTION. ITCAN EITHER CONSIST OF A SINGLE IDENTIFIE~ nESIGNATING THE FUNCTION,O~ THE If)~NTIFIER IS FOLLO~EO BY ~ PARAMETER LIST E~CLOSED IN PAREN­THESES. A PARAMETER MAY BE AN EXPRESSION. IN OPL ONLY STANDARDFUNCTIONS ARE IMPLEMENTED, HAVING AT MOST ONE PARAMETER.

EXAMPLES: S I r.,T I ME(lLOVAL (HOUR)ENCuOECi3YTEtl •• 4] Ai~D '1010')

+------------------------------------------------------------------------+1 SUp. Dnc. ,\jR.

aRIG I i~ ALIS S Ut:PHILIPS RESEARCH LABORATORY

E I NOH D V E N~ DATE 1981-02-2b1 PAGE b. 1. ~- 1

+------------------------------------------------------------------------+

Page 95: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

·'-,--~'------_._._-~--_._--_._~--------_.__._._._._.-_.__.__._-_._-----_._.~_.__._----,---_._.__._+o.p .,L.,-·

l VOLUMECHAP'TERSECTI.ONSU9S.

USE ~ MAN U A l1: PRELIMINARY VERSION I PROPOSAL6: ExPRESSIONS2: FUNCTIONS AND TABLES IN EXPRESSIONS2~ TABLE REFERENCES

l~--------·--,-·----·_-!DISTRrBUTION

!. FREE

.+._. ._. . ' .-:-.._._.-. '__ ._4P -- ._ -._.~-. • ._._._'_,_._ -._,_.__. ._.__. __• . __.+

6~2.2 TAdLE REFERENCES

A TAdLE REFERENCE SPECIFIES A CONVERSION TO BE PERFORMED AS DEFINEDIN THE TABLE DEFINITrON PART. IT CONSISTS OF AN IOENTIFIER DESIGNATI~G

THE TABLE AND A PARAMETER ENCLOSED IN PARENTHESES. THE PARA~ETER CANBE ArJ E XPRE 55 I ON •

EXAr""PL!:.S: SEG7 • !in (HYTE (I •• 7J)C lJ NVER T • L l) G • T() • I NT (P UR Q AIi0 R)DAYLJFWEEK( ENCUOE('lOl') )

+------------------------------------------------------------------------+!. SUP. OOC. [\JR.!. ORIGINAL ISSUE

PHILIPS RESEARCh LA~URATORY

E I N D H a v E N1 DATE 19RI-U2-2bl PAGE b. 2. 2- 1

+~---------------------------------------------------- -------------------+

Page 96: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~-----_._._~--~_.__._---~---_._----_._._---_._._------_._--_._. __._----_._---,--~.~_.~._-_._-_.~o •. P •. L .­

, VOLUME1. CHAPTER

SEC TI f)NSUBS •.

USE R MAN U A L1: PRELIMINARY VERSIUN / PROPOSAL7: STATEMENT PARTo:0:

1--.--.-._...._...,-.-,--.- _.--.... !DISTRIBUTION

! FREE

+_.__._-----_._--_._._-~-_._._._'-_._._-'--,-,_.- -- - _ ..._.- -,_.- -_._.- -- -_._,-_...._._-- -_.__._-- ---- _._-_._._- ..

7. THf- STATEMENT PART

SYNTAX:

-_.> 'tBEGIN't -+-->-+->.( HEADING STATE,"1ENTl !

J -+-->--+_.>I I. .

"END" ---.------.>+->l DURING STATEMENT ]--+

+._-_. . ._- ";1. < . . ,_.+

THE STATEMENT PA~T OF AN OPL PROGRAM DESCRIBES THE ACTIONS TO REPERFOR~ED ON THE DATA, I.E. THE SIMULATION OUTPUT. THE STATEMENT PAkTCONSISTS OF A SEQUENCE OF HEADING AND DURING STATEMENTS, SEPARATEDHY SEMICOLONS (";") AND ENCLOSED ~y THE KEYWORDS "BEGIN" AND "END".

A t1EADING STATEMENT SPECIFIES THE FORMAT OF THE OUTPUT TABLESAND MUST PRECEE0 THE DURING STATEMENT(S) THAT PRODUCECS) THE VALUESTO ~~ PRI~TEO. A NEW HEADING STATEMENT OVERRULES A TEXTUALLY PREVIOUSONE.

+._-------------------------------------------~---------------------------+~ SUP. DOC. (.. R •~ ORIGINAL ISSUE

PHILIPS RESEARCH LAbuRATORYE I NOH 0 V E N

~ DATE 1981-02-26i PAGE 7. O. 0- 1

+------------------------------------------------------------------------+

Page 97: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+_....__........ _._.__._-_._._-_._.__._._.__._._._._._._-_._.-._~_.__._._._.--._._._,_.__._.__._._,-.... _...._._._...._...._.-_._-,-_._.-+t o•.P' ..L.- U S E. R M A N U A L 1.

VOLUi'4E 1 : PRELrMI NA RY VERSI.ON I PROPUSALt .... _.____.____._,___...- ___ ~_.,.. .

t C'HA,PTER 7 : SfA.rE.M EN T IJAf.<T DISTRIBUTIONI SEc-rrOjij 1 : THE HEADING STATEMENT I FREE.. ...I SUBS. 1 • THE VERTICAL-HEAOING STATOIENT 1.. .......-._.--...--_._._'---'----------,-- ---...._._------ - _.__._---,_.-,-- - -- _.__.- - - - ---_._-,_.- -,- _.-- - - +

7 .. 1 THE HEADr~G STATEHENT

A HEADING STATEMENT SPECIFIES SOME IDENTIFICATION LINES TO BEPRINTED ON TO~ UF EVERY PAGE OF OUTPUT, AND THE FORMAT OF THE OUT-·PUT TABLES. A HEADING STATEMENT HAS T~O ALTERNATIVE FORMS INDICATEDA '( Tti EKE YW(l R0 S "' VE RTHE ADrNG" AN f) II H0 R HE A0 IN Gil.

SYNTAX:----------+---~[ V~RTICAL-HEADING STATEMENT ]----+------------->

i~--->l HORIZONTAL-HEADING STATEMENT )--+

7 •. 1. t THE VERTICAL-HEADING STATEMENT

SHHA'I,:

---.> "Vc;KTHEA0ING" -.-_.> "(" --> ( SIGNALLIsr ] --> ")" --------.--.>S I GI\J ALL 1ST

---T-·->( VARIABLE )---+--> ":" --.( FIELD wIDTH CONSTANT ]---+-->l 1~~~ t'," <~, +_, ,_,_, < ~ ~ +

FIELD wrOTH CUNSTANT---------------------->( INTEGER CONSTANT J-------------------->

A VE~TICAL-HEAOING STATEMENT CAUSES THE NAMES OF THE VARIABLESMENTIONED IN THE SIGNALLIST TO BE PRINTED VERTICALLY, I.E. THELETTERS AkE WHIrTEN IN THE SAME COLUMN BUT ON DIFFERENT LINES. THENAMES ARE ~LIGNED ABOVE THE LAST COLUMN THE VALUE OF THE VARIABLEWILL OCCUpy wHEN IT IS PRINTED AS A RESULT OF THE "PRINTLTST"PROCEDURE (SEE CHAP. B.2.1.1 ). THE NUMBER UF COLUMNS RESERVED FORTHE VALUF. C~N bE SP~CIFIED BY THE FIELn WIDTH CONSTANT. THE FIELDWiDTH MUST AE A POSITIVE INTEGER CUNSTANT EQUAL UR G~EArER THAN THEDEFAULT NUMBER UF CLlLUMNS ASSOCIATED tdTH THE TYPE OF THAT VALUE.IF ~U FIELD ~IOTH IS SPECIFIEO THE DEFAULT VALIJES MENTIONED IN CHAP.8.2.1.2 wILL BE USED.

~------------------------------------------------------------~-~---------+~ SUP. U0 C. ilJ R •

ORIGHlAL ISSUE~HILIPS RESEA~CH LABORATORY

E INn H 0 V E Ni DATE 1981-02-2bl PAGE 7. 1. 1- 1

+------------------------------------------------------------------~-- .. -...

Page 98: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+_._._---_._---_.__._~-----~-~-_._-_._._--_._-_. __._.-.__._~-------_._--_. __._--_._._-_.__._--_.-U .p •.L.­VOLU~"E

C~AP'TEK

SECTliJl1jl sues •.

USE R MAN U A L1: PRELIMINARY VERSION I PROPOSAL7: STATEMENT PART1: THE HEADING STATEMENT2: THE HuHrzO~TAL·HEADtNG STATEMENT

!------_._._--_._-------DISTRIBUTION

l FREEI..+ __... .__. . . ._-_._,__._,__. ._,_.,_,_.__, ,__.__.__.__. ._. ,__,_. . ._'-l

7 •. 1~2 THE HORIZONTAL-HEADING STATEMENT

SYNTAX:

--->. "HORHEADIi'JG n -+--.-_.>( TEXTPART ] -----------------------+-->+---> ( TEXTPART 1-","-->( SIGNALPART ]--+

l+---> [ SIG~ALPART )---------------------+

TEXTPART-.-.-.----.---.--.- NOT ! ~"PLEME NT E[) YET -.---------- -----.-.----------->SIGNALPARf------------> "(" -->( SIGNALLIST ]--- ")" ------------------->

A HORHEA0ING-STATEMENT PRJ~JTS THE NAMES OF THE VARIABLES THATARE IN THE SIGNAlLIST HORIZONTALLY, I.E. THE LETTERS ARE NEXT TOEACHOTHER. PRIOR TO THE VARIABLE NAMES SOME CLARIFYING TEXT LINESCAN BE SPECIFIED HY MEANS OF CHARACTEK STRINGS.

+------------------------------------------------------------------------~! SUP. DUe. i·H~.

ORIGINAL I35UE:PHILIPS RESEARCH LArWRAT(IRY

E I NOH 0 V E N! DATE 1981-02-26~ PAGE 7. 1. 2- 1

.------------------------------------------------------------------------+

Page 99: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

"'+""----_.........- _._.- -_._,- _...._,-'-.-._--_._._,-, -----_._._,-,-- -_._--_._._._- _._._,_.__.~._._--_.- -_.__._--- -<---+O•.P.,l... -· UVOLU~1E

CH A·P'T F: r~

SECTIO:\lSU'3S.

S E R HAN U A Ll~ PRELIMIN4RY VERSION I7~ STATEMENT PARTd: THE DURING STATEMENTo:

PROPOSALI..~ -------_._._-,--_._--,_.!l 0 IS TR leW T IONl FREEl

+---_.~-_.~_._--------_._._._'_.__._-------,~-----_._-----~-,-,-,---_._._-,----_. __._-,--_._._._,+

7.2 Trll: [JURING STA.TEMENT

A DURI~G STATEMENT DESCRIBES A P~OCESS BLOCK TOGETHER WITH ASU-1ULATIlJN THIE I:'HERVAL FOR ':~HICH ThE PROCESS BLUCK HAS TO t3EEFFECTUATED. THE PRUCESS aLOCK CI)NSIST5 OF ONE OR MORE ~ON STATEMENTS".

THE TI~E INTERVAL CAN dE Or~ECTLY SPECIFIED 8Y STATING A STARTTIME AND A STOP TIME:

- ,~H ENTH EKE HI 0 R0 'I ALL ~ IS USE D, THE STA RT HI D STU P TIM EAR EE~UAL TO THE FI~ST RESPECTIVELY LAST TI~ESLOT APPEARING IN THESIMULATIUN OUTPUT FILE THAT HAS TO BE PROCESSED.

- WITH THE ~PERrOO~ CONSTRUCT IT IS POSSIBLE TO SPECIFY A SUB­iNTERVAL. THE START AND STOP TIME MUST BE DENOTED HY POSITIVEINTEGER CONSTANTS. THE STUP TIME SHUULD BE GREATER THAN THESTART TIME.

OR TrlE TIME INTERVAL CAN BE SPECIFIED I~DIRECTLY 8Y HEFERRING TOSIGNALS:

- A LOGICAL EXPRESSION WILL SPECIFY ALL THE TIMESLOTS AT ~HICH ITSVALUE IS TRUE. THIS :"iAY ~ESULT IN IvIORE THAN ONE: OISJOPH TIMEINTERVAL.

- TWO TRANSITION CAUSES SPECIFY ALL TIMESLOTS INBET~EEN.

THIS ~AY LEAD TO MORE T~AN ONE DISJOINT TIME INTERVAL.THE SYNTAX AND ThE SEMANTICS OF THE TRANSITION CAUSE AREOESC~IdED IN THE NEXT CHAPTE~ (7.3).

THE RUN TI~E EFFICIENCY CAN SOMETIMES BE INCREASED BY UPDATINGONLY THOSE PERMANENT VARIABLES THAT ARE USED ~ITHIN THE DURINGSTATEMENT. wITH TrlE ~USING~ OPTION A LIST UF PERMANENT VARIABLESTO SF.: tISED, IS SPECIFIED.

Sn-JTAX:

---> "DURING" ---> ( TH1E INTERVAL SPECIFICATION) --------------+

+---- ( Pt:Ri'1ANEi'JT VARrAr.~LE LIST J <--- "USI~~G" <--------------+

+--~-----~---------------<--~-----------------~-------------+

+ - - - > ·f 00 ~ - - - - - - > ( PRO CESS BL 0 CK J - - - - - - - - - - - - - - - - - - - - - - - - - >

+------------------------------------------------------------------------+1 SUP. OOC. NR.~ ORIGI\JAL I:3SIJE

PHILIPS RESEARCH LAdORATORYE I N I) H () V E I~

~ DATE 1981-02-26! PAGE 7. 2. 0- 1

+-----~--------------------.---------------------------------------------+

Page 100: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+----.--.-~--------.------.--~---.----.-.--'------------·-·-·-·-----·---·-·---·-·----·--·--·-·--iI 0 •.P •.L.• -·

VOLLJ~,tE

CH~prEr(

I SEC.TIONSUBS •.

I) S E P MAN IJ A Ll~ PRELIMINA~Y VE~SION /7: STATEMENT PART2:, THE 0 tJf~ IN G S TAT EME.N T0:

PROPOSAL l. ---._--.-.- -.-.----.-.--,-.!DISTRIBUTION

~ FREE

+._------_._._--_._-_._._.__._._._._-- --_.- _._._,-- _.- _._._._- --,---_.- _._.- _.__._-,-,_.__._-_._._._.--_._._--+

TIME INTERVAL SPECIFICATION

---.+.-,-.-----.----.-,-.-.-.-.-----.> t. AL,L ,. --.-.-.-.----.- ----.--.-- -,--.--.- --._,+._.-.>!"-'-·>'·PERI00"-·-·> ( START TrrJ\E ] -.-.>tlUNTIL"--·>·[ STOP TII'1E ] --+-I t. .+---------------->( EXPRESSION ]-------------------------+

!+--·-·>(TRA;~SITION CAUSE] -->"urHIL"--·> [Tr(Ai'~SITION CAUSE] ----+-

STA~T TIME / STOP TIME-.--.-.-.--.--.---.--.-,--.-.-.-._--.> ( IN TE GER CONS TAI'~ T ) _.---- -----.-------.-->

PERMANENT VA~IA8LE LIST-------.-.--.--.-.-,-,-.----,+.---.> [ I DEN TIF I ER J --.--+------------- --- --- >

!+ __._. ,t,"' < . .+

PROCESS BLOCK-----------------+-----~------>( ON STATEMENT ]-------------+-->

!+->"BEGIN"-+->( ON STATEMENT

. !+-_._---~ " .",

] -+->"END"----+,.<------+

+-------~--------.------------------------------------ -------------------+l SUP. lJoe. NR.

ORIGI!~~L ISSUEPHILIPS RESEARCH LABURATORY

E I NOH 0 V E N~ DATE 19S1-02-26l PAGE 7. 2. 0- 2

+------------------------------------------------------------------------+

Page 101: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_._--_._._.....----_._._-_._- --_._._._._.__.- -_._._.- -_. __._.__.- -,_.__._._- -,_.__._._,_._._._._._._._._.- _._._._,_....._...o .,p .L a·-'

VOL-lJ HECHAPTERSECTIONSUBS •.

U S ~ R ~ A N U A L1: PRELIMINARY VE~5IUN

7~ STATE~ENT PART3: THE 0 i~ STATEM E: NT0:

I PROPOSALDISTRIBUTION

1 FREE

~---_._._._.~_._._._--_._._---~-_._-----_.__.~-_._--------------_._--~-_._._~--_.~-_._._._. __._..7.3 THE ON STATEMENT

AN ON STA~EMENT DESCRIBES A CAUSE AND AN ~CTION STATE~ENT THAT~ILL ~E EXECUTED EVEqy TI~E THE SPECIFIED CAUSE OCCURS. A CAUSE ISA CERTAIN CHANGE (TRANSITION) OF THE VALUE OF A VARIABLE.

ON 3TATE~ENTS CAN ONLY OCCU~ ~ITHIN A DURING STATEMENT.

SYNTAX:

---> "O~" ---> [ CAUSE )---> "DU" ---> ( ACTION STATEHE~T )------>

CAUSE---------------~--->( SIMPLE CAuse )----+------------------>

+---> [ TRANSITION CAUSE )----+

SIMPLE CAUSE-.---------- ----~-_.- ->0 "E VEN T"--- ----------- -+------- ---.- ---.----,>

+----> "EVERYTIMESLOT" ------+l

+----> "LISTEVENT" ----------+1

+---->( VARIA6LE )-----------+TRANSITION CAUSE--------------+--->[ TRANSITION EXPRESSION ]----+-------------->

! l

+------------ "OR" <--------------+TRANSITION EXPRESSION

- - - > " T R Ar'./ SIT I iJ N" - - > (V Af.I I AbLE) - - ~ - - >0 H FRl) 1-1 /I - - > [V ALUERA i'J GE] - - + - > - +- >V l l

+--------------<------------+ f

+-->"TO"---->[VALUE RANGE]------+! l

+-------------->----------------~

VALUE RANGE--------------------+--->( CONSTANT )----+--------------------->, !

+~------- "," <-~-~--+

+--------------------------------------------------~---------------------~! SliP. DOC. Nf<.l ORIGINAL ISSUE

PHILIPS RESEARCH LAbORATORYE I NOH 0 V ~ N

! OAT~ 1981-02-26~ PAGE 7. 3. 0-

+------------------------------------------------------------------------+

Page 102: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+ . .__. . . . ._._. ._.-·~--·--·------·-·--·--·---·---------,--i

O. P .L.-·VOLU"1£CHA·PTERSECTIONSUtlS.

J SiR MAN U A L1: PRELI~INARY VERSIuN1: ST~TEMENT PARr3: THE UN ST4TEMENTo:

/ PROPOSAL l--·------·--·--------·---!01 S TR r 8 UTI 0 N

l FREE

+-,---,- --,-,----_._._--_._- ----,-,- _.- --,_._._------....--_._._- --- ..'-_.....'- -- - -_...'---_._.__._- -'--'-'-'-'';'

A SIMPLE CAUSE CAN EITHER BE O~E OF THE RESERVED wORDS "EVENT","EVERYTU-IESL01" Ar'~O "LISTEVENTII OR A VARIABLE. PHS VARIABLE 1'-4UST BEA SIGNAL OR A PER~ANENT VARIABLE OF TYPE LOGICAL (OR BOOLEAN):

WEVENT" DENOTES A TRANSITION OF AN ARBITRARY SIGNAL.

- "EVERYTr~ESLOT" SPECIFIES AN INCREMENT OF THE SIMULATION TIME BY1 UNIT.

- A CHANGE OF THE VALUE OF A SIGNAL OR OF A PERMANENT VARIABLETHAT IS MENTIONE0 IN THE SIGNALlIST OF THE MOST RECENT HEADINGSTATEMENT, IS SPECIFIED ~ITH THE KEYWORD "LISTEVENT".SUPPOSE THE SI~NALLIST CONTAINS:

A(L.41, 8, RESET

THEN THE CAUSE "L.ISTEVENT"· IS EQUIVALENT WITH:

TRANSITION A (11 OR TRAr4SITION A (2 OR TRAi\JSITION A (3)

OR TRANSITION A(Q) OR TRANSITION 8 OR TRANSITION RESET

- A SIMPLE CAUSE THAT IS A VARIABLE, SAY "SIG~, IS A SHORT-HANDNOTATION FOR:

TRANSITION srG FROM FALSE TO TRUE.

A TRANSITION CAUSE SPECIFIES A NUMBER OF TRA,'lSITION EXPRESSIONSCONNECTED BY THE "ORK SYM80L. A TRANSITION CAUSE OCCURS IF AT LEASTONE OF THE CAUSES DESCHIBED 8Y THE TRANSITIUN EXPRESSIONS OCCURS.

A TRANSITION EXP~ESSION DENOTES A CHANGE OF A VARIAdLE, THAT MUSTBE A SIGNAL OR A SCALAR PERMANENT VARIABLE, FROM A CERTAIN VALUE TOA CERTAIN QIFFERENT VALUE. A TRANSITIDN EXPRESSION CAN HAVE FOURDIFFERENT SYNTACTICAL FORMS:

1. -->IITRAiJSITION"--> ( VARIA8LE ) --------------------------->DEill 0 T rNG Ahi ARtl rTRARY CH t\ NGE 0 F THE VAL UE 0 F THE VARI AE3 L E•

2. -->"TRANSITION"-->( VARIAdLE )--"FROM II--[ VALUE RANGE ]-->

THE VALJE OF THE VARIABLE CHANGES FROM ONE OF THE CONSTA~T

VALUES IN THE VALUE RANGE TU A,\j AHdITRARY DLFFEKENT VALUE.

+------------------------------------------------------------------------+l SUP. OOC. NR.

ORIGINAL IssUEPHILIPS RESEARCH LAdO~ATORY

E I NOH 0 V E N! DATE 1981-02-261 PAGE 7. 3. 0- 2

+------------------------------------------------------------------------+

Page 103: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-------_._._-_._._.__._._._-_._._--_._---_._---_._._.----_._._._._---_._----_._--,---------_.- ...----_._...ja ..P.L.-VOLUMECH~PTER

SECTIONSU5S.

U S ~ R MAN U A L1: p~ELIMrNARY VE~SIUN

7~ STATEMENT PART~: THE UN STATEMENT0:

I PROPOSAL ' .__------_._----_._,. .DISTRIBUTION

! FREE1

+---~---_._-,--------_._----_._-_._._----_._._------,---_._-------_._--_.__._--_._--_._._-,~

3. __>/1 Tr(ANSITICH'J"-'--;> [ VARIABLE J --,"FROM"-- ( VALUE RANGE) -_.+.1

+---_.~-_._------_.<-_._~-_._._-~---+

+-"TO"--->( VALUE RANGE )-->

DENOTES A CHANGE UF THE VALUE OF THE VARIABLE FROM A VALUEMENTTONEU IN THE FIRST VALUE RANGE TO A VALUE THAT IS MEN­rIUNEl) IN THE VALUE RAi'JGE FOLLDWII\jG THE /ITO" SYHdOL.

4. -->.ltTRANSPTON'I--> ( VARIABLE J ---"TO"--( VALUE RANGE J ----.>DENOTES A CHA~GE OF THE VALUE OF THE VARIABLE FROM ANARBITRARY VALUE TO A VALUE !-IENTIONED IN THE VALUE RANGE.

+------------------------------------------------------------------------~l SUP. oDe. NR.! ORIGINAL ISSUE

PHILIPS RESEARCH LABORATORYE I N D H u V E N

! DATE 1981-02-26! PAGE 7. 3. 0- 3

+--------~----------------------------------------------~----------------+

Page 104: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+._---~--_._._._~-_.__._-------_._.__._._--'_._--_._'---_._---~-----_._-----,~_._-_._~---_._,-_.+I 0 •.P •.L. - U

VOLUN1E1 CHAPTER

SE-CTION, SUBS.

S E R MAN U A L1: PRELI~INARY VERSION7t STATEME~T ~~RT

~: ACTION STATEMENTS0:

/ Pi-COPOSAL ! ------_._._._._._-,-,---_._.!1. D1STRIB UTI 0 NL FREE

+ '... --- -,-.-----------.- -.__....-.--- --.-.__.-.-"--,--.__._-._-_._.- ---- -.-,-_._._.-.- -._--.-._._._.-- 1-

7~4 ACTIO~ STATEMENTS_...-... -.__._,_._---,_._--

THE STATEM~NTS ThAT ARE DESCRI~EO IN fHIS SECTION ARE BORROwEDFROM TrlE GENERAL-PURPOSE HIGH LEVEL PROG~AMMING LANGUAGE PASCAL.THE ASSrG~MENT STATEMENT IS EXTENDED TO ALLOW ASSrGN~ENTS TU VECTORVARIAdLES.

FOR CONVENIENCE ~ACTION STATEMENT" IS AH8RIVIATEO TU "STATEMENT"EVERYWHERE IN THIS CHAPTER.

SYNTAX:

------------+--->( EMPTYI..

S TATEME:f'~ T J ----+.------------.----->

+_.__.> [

1+.__._.> [

1.... _._._.> (f

+---> [

~

+_..... > [~

ASSIGNMENT S TATEMEt'H ]----i-I·PROCEDURE STATEMENT ] ----+

COMPOUND STATEMENT J ----i-1

IF STATEMENT )----+.I·..HilLE sTArEMENT ] ----+I·FOR STAT E"'lE i~ T J ----+

7.4.1 THE EMPTY STATEMENT

THE EMPTY STATEMENT CONSISTS OF NO SYMBOLS AT ALL. NO ACTION ISPERFORMED.

SYNTAX:

--------------------------------------------------------------->

+------------------------------------------------------------------------i-: SUP. DOC. NR. ! PrlILIPS RESEARCH LAdURATORY : DArE 1981-02-26 !

ORIGINAL ISSUE E I NOH 0 v EN: PAGE 7. 4. 0- 1i----------------------------------------------------- +

Page 105: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+._--_.__._---'-,~-----_._-- _.- _.- -,--_.-._._--,-,- ----_._._-_._._---- -_._._.- _._-_._._,- -----_._._-- ---_.- ---..,..O.P •. L •. - UVULur-1ECH-APTERSECTIONS ll8 S ._

S E R M A i~ U A L1: PRELIMINARY VERSION 1 PROPOSAL7: STATE~E~T P~RT

~: ACTION STATEMENTS2: ASSIGNMEN~ STATEMENT

1_. ---------- .__ '. .DISTRI(3UTIUN

1 FREE

+--_._--_._.__._-----_._._._-_._-----_...._-_._._._._._.- -_._-,-_._.- _._._- ---_.__.- _.- -_.__._._._--,_._--_.- ---,- +

7.Q.2 THE ASSIGNME~T STATEMENT

THE ASSIGNMENT STATEMENT ASSIGNS A VALUE TO A VARIABLE. THE VALLIEIS THE RESULT OF EVALUATfNG AN EXPRESSION. THE TYPE OF THE VALUESHOULD BE ASSIGNMENf COMPATldLE ~rTH THE TyPE OF THE VA~IABLE, I.E.SATISFY nNE OF THE FOLLOWING REQUIREMENTS:

- THE TYPES ARE THE SAME (SEE CHAP. 3.5.2).- IF THE VARIAdLE IS OF SUARANGE TYPE, THEN THE ASSIGNED VALUE

SHl) UL D RE Vi I THIN THEA LL 0 \'t En RANGE.- IF THE VARIABLE IS AN ARRAY AND THE VALUE IS A SCALAR, THEN THE

ARRAY ELEMENT TYPE ArJO THE TYPE UF THE VALUE ~UST BE ASSIGNMENTCOMPATI~LE.

IF THE VARIABLE AND THE VALUE ASSIGNED TO IT ARE VECTORS, THENTHE NUM~ER OF ELEMENTS MUST BE THE SAME AND THE TYPES UF THEELEi-lEJ\lTS MUST BE ASSIGNMENT COMPATlIjLE.

SYNTAX:

-------------->[ VARIA~LE ]---> ~:=" --->( EXPRESSION 1-------->

THE REQUIREMENTS FOR ASSIGNMENT CUMPATIBILITY ALLO~ ASSIGNMENTSTO ARRAY VARIABLEs ANO VECTOR VARIAtiLES. ASSIGNj¥iEI~TS TO VECTOR VARI­ABLES A~E CALLED VECTOR ASSIGNMENTS.

A VEe T0 RA S S I GNMEN TIS ExECUTEO SE [~ lJ F: N TLA LLY, I. E. ELEr-l ENT B YELEMENT, STARTING ~IrH THE ELEMENT HAVING THE SMALLEST INnEX.

EXAMPLES:(THE D~CLARATIONS AS IN THE EXAMPLE IN CHAP. 5.1 ARE ASSUMED)

I:=J-tKiA:=O; J* ALL ELEMENTS OF THE 1-DIMENSIONAL ARRAY "A" BECOME "0" *JCOUNT:=COLJNT-tl;MEMORY:=FALSEi 1* ALL 25b*lb ELEMENTS ARE ASSIGNED TrlE

THE VALUE "FALSE" *1!'vI EHar< Y ( I , C0 LJ [4 T] : =A ( 1] UR A [K J; 1 * seA LAR ASS I Gi~ 1Yl ENT *1r<1 E ~-1 0 R Y ( 1 •• 16 , E tJ Cl) f) E (A r 1 •• 4] ) J : =M E,\1 0 R Y (J , \) •• 15); I * VEe TOR

!\:SSIGi\JMEf'Jl *1

+------------------------------------------------------------------------+! SiJP. DOC. ;\~~.

! ORrGr~AL IS3U~

PHILIPS RESEARCH LABOR~TORY

E I ~ Q H 0 V E N! DATE 1981-02-26! PAGE 7.~. 2- 1

+------------------------------------------------------------------------+

Page 106: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_._-,--'---'---_._---_.---,-_._----- -,--_._.__.- --_._--~- -- _._._.- --_.- _._.._._-.- _._._- _._.- ------ _._._.- _.+

i. O.. P •.L. - U S E R M A til LJ A LVOLU~E 1 : PR ELI '-II NARY VERSION I PRUPOSAL

f __._._.__._,__-_____.__.... _., I. .CHAPTER 7 : ST A TEi·1F:)\jT PAf.<T DISTRIBUTION

I Sf:C TI ON q: Ar. TIll ~J STA TE"-lpJ TS ~ FREE.~

I SUBS. 3: p.1:( 0 [ EO lJR E S TAT U1 ENT I L\ : COr-1PUU~JD.~..---_.~ ...-.- -_._--,--~- --- --_.- -_.-._._.__.__ .__.-...-_._._- _._.- -_._._._.- -_._,- _.- _._._,_.- _._._---- _.----_._._'.

7.~.3 THE PROCEDURE STATEMENT

THE PROCEDURE STATEMENT INVOKES ONE OF THE STANDARD PROCEDURES.THE FORMAL PA~AMETERS UF TrlE PROCEDURE ARE SUBSTITUTED BY THECORRESPO~W I NG AC Til AL PA RAMET ERS.

SYNTAX:

---.> ( PR OC EO URE IDE NT I F· I ER ] --+ --- ------------->-----------.---+ -->

+-->"("--(PARAMETER LISTJ--")"--+

PARAMETER LIST------------------------------+---->( EXPRESSION ]-----+--------->

7.4.4 THE COMPOUND SfATEMENT

.-,---._------ " If, <--------+.

A COMPOUND STATEMENTS SPECIFIES A SEQUENCE OF ACTION STATE­MENTS TU Sf EXECUTED IN THE ORDER IN WHICH THEY ARE W~ITTEN. TrlERESE~V~D wO~DS "BEGIN" AND ~ENO~ EMBRACE THE SEQUENCE.SYNT~X:

---> "BEGIN" ---+---------->[ STATEMENT )---------+---> "END~ --->l !+-----_._-----

7.4.5 THE IF STATEMENT

.. .", <---------------+

AN IF ST~TEMENT IS A CONDITIONAL STATEMENT, I.E. THE STATEMENTFULLOWI~G THE "THEN" SYMBUL IS EX~Cl)TED IF A CE~T~IN CONDITION ISMET. THIS CONDITION IS EXPRESSED HY A aOOLEAN EXPRESSION. IF THEEXPRESSIO~ YIELDS TH~ VALUE "FALSE", THEN fITHER NO STATEMENTOR THE STATEMENT FOLLU~ING THE "ELSE~ SY~BOL IS EXECUTED.

SYNTAX:

---:> "IF" -->[ EXPRESSION ]--> tlTHEN" -->( STATEI-IEi'H j---+->-+-->~ i

+---------------<- ... ~-----------++--> tlELSE" -->[ STATEMENT ]-------+

+------------------------------------------------------------------------+~ SUP. DOC. NR.! ORIGINAL ISSUE

PHILIPS RESEARCH LA80RATORYE I NOH 0 V E i~

l DATE 1981-02-26l PAGE 7. 4. 3- 1

+----.------------------------------------------------ --~----------~---~-+

Page 107: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-------_.__.__._-----_.----- _._-_.--- --_._-_._---,_._,--,--_._._- ------ -_._--_._._._-_._._--_.- -----_.- ----- +-

1 a •. P •. L ...' U S E, R H A N U A L, VOLUME 1 : PRELIMINARY VERSION 1 PROPOSAL ,--~-_._---~--~---_._,0' o •

CHAPTF.R To ST ..\TEMENT PART DrSn~I8lJTIU;\j.'1. SECTION I.t : ACTION S TA TEMENTS 1 FKEEI SUBS. so:. IF STATEMENT 1 6: WHILE 10'+. ._.__·_._'_· . ._. ,_·__-_· . r_'_. ._.__·_,_._,_,_- .__._._,__,__.__,_.__,__._,_, ._,__,_-_,+

SYNTACTIC AMbIGUITIES ARISING FROM NESTED IF STATEMENTS ARE~ESOLVED ~y CUNSIUERING THE "ELSE" PART ALWAYS TO dELONG TO THEMOST RECE~TLY ENCOUNTERED IF STATEMENT.

EXAMPLE:

IF CDND.l THENfF COND.2 THEN I~ S~ATEMENT 1 ./ELSE /* STATEMENT 2 *1

THIS CONSTRUCT IS INTERPRETED AS:

rF COND.! THENBEGIN

IF CUNO.2 THEN 1* STATEMENT 1 *1ELSE 1* STATEMENT 2 *1

END

7.Q~6 THE WHILE STATEME~T

A ~HIlE STATEMENT SPECIFIES THAT A STATEMENT HAS TO BE EXECUTEDREPEATEOLY AS LONG AS A CONDITION, EXPRESSED BY A BOOLEAN EXPRESSION,IS M~T (I.E. T~E BOOLEAN EXPRESSION YIELDS THE VALUE "TRUE").IF THE BOOLEAN EXPRESSION (HETWEEN THE "WHILE" AND "DO" SYMBOL) ISFALSE AT THE BEGINNING OF THE WHILE STATEMENT, THEN THE STATEMENTFOLLOWING THE "00" SYMBOL IS NOT EXECUTED AND PROGHAM EXECUTIUNRESUMES ~ITrl TH~ NEXT STATEMENT.

SYNTAX:

---> "WHILE" ---> [ EXPRESSION ]--> "DO" -->[ STATEMENT 1--------->

7.4.7 THE FOR STATEMENT

THE FOR STATEMENT INDICATES THAT A STATEMENT IS TO BE REPEATEDLYExEClJ TEr) .~ H I LEA P R() GRES S I (1 ill 0 F V,A LUESIS ASS I GNED T0 A VARI ARLf.It·JHICY IS CALLED THE CONTROL VARIABLE. THE CONTROL VARIA3LE HASTO BE A USER DEClAR~O SCALAR (OR SUBRANGE) VARIABLE, AND MUST NOTRE SUflSCKIPfEO.THE PROGRESSION UF VALUES ASSIGNED TO THE CONTROL VARIABLE ~ILL BEAS CE ~J[) r i'! G ,oj HEN "T 0" 1 SUS ED; I T '.'I ILL BEn ESC EN 0 IN G wHEi\j "DO 'IV NT 0 "IS USED. THE I~ITIAL AND FINAL VALUE INDICATE THE RANGE OF THEPROG~ESjIO~. THE URDER OF THIS ~ANGE IS DET~RMINED dY ITS TYPE.THE ITERATE0 STATEMENT IS EXECUTED ONCE FOK EVERY VALUE l~ THE ~ANGE.

+-------~--------------------------------------------- -------------------+1 SUP. DuC. NR.

OfnGI'JAL ISSUEPHILIPS RESEARCH LA~OHATORY

E INn H 0 V E Nl DATE 1981-02-26l PAGE 7. 4. 5- 1

+--~~------------------------------~------------~----------------~~------+

Page 108: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~-_._------'---_._--------_._----_._-_.__.__._._-_.__.-_._._-_._-_._--------------_.__._.__._.+a ...P .. L. .. -. U S E R H A N U A LVOLUME 1 : P t-< ELH1 I ,'I ARY VERSION 1 PROPOSAL !-._----------_._._._--!

1. CHAPTER 7 : ST1\ TEi-1E;NT PART OISTRIBUTIONSECTIOI\J 4: ACTION STATEMENTS I FREE.

1 SUt3S. 7 : F·OR STATE ,'-I ENT+._---_.__.- _._._-,_._-,-,_.- -'-_._-.-- -,_.__._---,_._----- -,_.__._,-_.---,- _._- --_.- _._._._. __._-_._,_._.__._.+

WHEN "TO" IS SPECIFIEO, ITE~ATION ~ILL TERMINATE AS SOON AS THECUNTROL VARIABLE HAS A VALUE GR~ATE~ THE~ THE FINAL VALUE.WHEN "DO~NTO" IS SPECIFIED, ITERATION ~ILL TERMINATE AS SOON ASTHE CONTROL VAHIAHLE HAS A VALUE LESS THAN THE FINAL VALUE.

THE CONTROL VA~IA8LE AND THE INITIAL AND FINAL VALUES MUST NOTBE ALTERED BY THE ITERATED STATEMENT.

SYNTAX:

-->"FOR"-->(VARIABLEJ-->":;b-->[INITIAL VALUEJ---+-->"TO"--------+

+-->DDOWNTO"----+1+-_._._--_._- -_.- -_._._._--_._-_._'_._._- < - _._- ---_._------ _.- - -- -- - - - -_._-- +

+-->[FINAL VALUEJ-->HDO"-->[STATEMENT]-------------------->

INITIAL VALUE 1 FINAL VALUE----------------------------->[ EXPRESSION )--------------------->

EXAi'1PLES:

FOR I:=l TO 1000 A[I}::: TRUE;

FUR 1:=0 TO 2SS DOFO~ J:=15 D0~NTO 0 DO

IF I MOO 2 :: 1 THEN 1* I IS ODD *1MEtv1 0 R Y {1, J J : = I <:: J ;

~------------------------------------------------------------------------+! SUP. DOC. Nq. ! PHILIPS RESEARCH LAdORA TORY ! OATE 1981-02-2h! ORIGINAL ISSUE E I NOH 0 v E ~ ! PAGE 7. 4. 7-+------------------------------------------------------------------------+

Page 109: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_.__.- -_._-_._-- -,--- -- _.__._.- _._-,_._._._-_._._._- _._.__._,_._.- _._,_.---_._._._---,-- -,_.__.__.__._._.- - - -.,., O. p .. L..... U S E R H A N U A L..

VOLUIvIE 1 : P~ELp·lINARY VERSION / PROPUSAL l-----,---~-·-·-_·-·-·----·!I CMA·PTER 8 :. S T A,NO ARO Fur4CTI()~JS AND PROCeDURES DISTRIBUTION..l SECTION L: THE STANOARO FUNCT 10'\15 I FREE.I SUBS .. 1 :. ENCODE.-~~-,-~~._----,_._--_. __._-_.~_._._--_.~_.~-----_._----._------_._.__._-_._-_.__._._-------_.__._.+

8.1 THE STANOARD FUNCTIONS_._._-----_._._-_.__._._._._-_.-

B • 1 • 1 E 114 C[J Dt

THE ENCODE FlJNCTION CONVERTS A LOGICAL VECTOR OR A LOGICAL SCALARTO AN INTEGER V~lUE.

SYNTAX:----------> "ENCnDE~ ---> ~(" ---> [ ExPRESSION ]---> ")" ------>IN CASE THE EXPRESSION YIELDS A LOGICAL VECTOR, THE ELEMENT THAT ISMOST TU THE LEFT, I.E~ HAS THE SMALLEST INDEX, IS CONSIDERED TO BETHE MOST SIGNIFICANT ONE.

EXM1PLES:

THE FOLLOWING EXPRESSIONS YIELD THE BUOLEAN VALUE TRUE:

ENCOOE('1101') = 13ENCOD~(1 & 1 & FALSE & TRUE) = 13

'ENCODECTRUE) = 1

ASSUME THE FOLLOWING ASSIGNMENT:

VEC[1..10] := '1110011011 1

THEN:

E ,\I ClJ DEo (V EC (7 •• 1 0)) = 1 3ENCOOE (vEe (3] & VEc (4 •• 6]) = 9

NOTE:

~HEN THE ENCODE FUNCTION IS APPLIED TO A LOGICAL PARAMETER THATHAS THE VAL IJ E"" It, "3" 0 R " ~ ", THE NTH ERE SUL T 'I'i ILL 9 E - 1 A ~J D A ERR 0 RMESSAGE IS SUPPLIEO.

+-----------------------------~~-----------------------------------------+! SIt p. 0 nc. ;'~ ~ .! ORIGI~AL ISSUE

PHILI~S REsEARCH LAdO~ATnRY

E I i'~ D H 0 V E N! OATE 1981-02-26l PAGE 8. 1. 1- 1

+----------------------------------------------------- -----------~-------+

Page 110: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~------_._--'-~--'_._._._'_._-_._-~----_._--_._._----'_._._,--,-_.__.__._-----_._.__._-----~_._._--,+o•.P .,L .,-'VOLUME

!. C-HA-P T-ERSECTIONsoURS ._

u s ~ ~ M ~ N U A L1: PRELIMiNARy VERSION) PROPOSAL8: STAr~ DAR l) FlJ NCT I 0 i'.j SAN 0 PR() CEO LJ RESL: THE STANDA~O FUNCTIUNS~: OLOVAL ) 3: SIMTIME

! -·--,-·-·--,----·---·---·-·llH5TRIBUTIOf\l

~ FREE

+.....--_._--_._._,_._._._._.- - -_._.__._--_._,_._._,_._._.- _._,_.- _._.- - -,_.- -,-_._._-_._._,_._.- _._._,_._.- - -,- _._,- _.- ...._.+

B.1 •.2 OLDVAL

THE OLOVAL FUNCTION RETURNS THE VALUE OF ITS PARAMETER VARIABLEAT fHE PREVIOUS TIMESLOT. OLOVAL MAY ONLY BE APPLIED fO SIGNALS ORPERMANE~T VAQIABLES.

SYNTAX:

--,---- .. ----.> "OLOVAL" ---> "(" ----> ( VARIA8LE J---> ")" -- ... ----->

8.1.3 SIHfU1E

THE FUNCTION SIMTIME RETURNS THE CURRENT SIMULATION TIME AS APOSITIVE INTEGER VALUE. SIMTI~E HAS NO PARAMETER.

SYNTAX:

------- .. --> "SIMTIME" ----------------------------------------->

+--------------------------~-------------------------- -------------------+! SUP. DOC. NK.

ORIGINAL ISSUEPHILIPS RESEARCH LABORATORY

E ! NOH 0 V E N! DATE 1981-02-26! PAGE 8. 1. 2-

+------------------------------------------------------------------------+

Page 111: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~-_.~-_.__._--_.~_._.~~--_._--------_. __._._-,---,_._._._._._-_._._----_._----_.__.__._,-----_._-_._.~

() •.P •.L • -. I )

VOLUMEI CH'A PTER

SECTIONSUt;S •

S E f.l 1"\ A f\1 lJ A L1: PRELIMINARY VERSION / PROPUSAL8: S r AtJOAf.<O FlJNC Trl1r~S AND PROCEOUi-<ES2: THE STANDARD PROCEDURESt: UUTPUT PROCEOURES

!---_.__.__._--------_.!DISTRIBUTION

l FREEf

..-.-....__._.__.- _._.__.__.- -_.- _.__._._--_._,---,_._.- _._._-- ---_.- _._---- - - -- - -- --,_.- - - --_._-,_._,---,- - +

8.2 fHf STANOARD PROCEDURES

8 •. 2 •. 1 0 UTpur PRDeE LHJ ~ ES

USE OF ONE OF THE OUTP~T PROCEDURES ALWAYS HAS AS A SIDE EFFECTTHAT THE CURRENT SI~ULATIUN TIME IS PRINTED AT THE ~EGINNING UF ALINE. USER SPECIFIED OUT~UT 5TA~TS AT COLUMN NUMBER 10.

8.2.1.1 PkINTLIST

THE PROCEDURE PRINTLIST PRODUCES 1 LINE OF OUTPUT CONSISTING OFTHE CUR~ENT VALUES OF THE SIGNALS AND VARIABLES SPECIFIED IN THESIGNALLIST OF TrlE HEADING STATE~ENT.

PRINTLIST HAS NO PA~AMETERS.

8.2.1.2 PRINT / PRINTLN

THE UUTPUT PROCEDURES PRINT AND PRINTLN ARE COMPARABLE wITH THEPA seA L PRO CE. [) l) RES WR I TE, RES p. ,If R I TEL N•

SYNTAX:

--+-- > If P RI '.J TL1\4" --+ ---- ---------------->-- ------------ --- --+-->V f

+--> "PRINT" ----+-->"("--+-->[ OUTPUT VALUE ) __ + __ If)" +t ,. .+-------- If If

I <-------+OUTPUT VALUE------------->( EXPRESSIUN ]---+----------->----------------+-->

+--> " . ". --> ( FIELD wIlJTH ] --+

FIELD I<IDTr-!------------->[ EXPRESSION] ----------------------------------->

+------------------------------------------------------------------------+l SUP. Due. N~.

~ ORIGI:JAL ISSUEPHILIPS RESEARCH LA~ORATU~Y

E I ~ 0 H 0 v E ~

~ DATE 1981-02-26! PAGE 8. 2. 1- 1

+----------------------------------------------------- -------------------~

Page 112: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+----,-- ----_._._._._.__.- _._._._._-_._. __.- _._.__._._._._- -----_.- _.- ---- -,---_._,_._._._,_.__._._,_.-- _._--_._.+o•. P •.L • ~

! VOLIP~F.

CHAPTEI~

SECTIONSUBS.

u S t: R r1 A N IJ A L1: ~RELrMINARY VERSION / PROPOSAL8: STAN DAR D F l j:'~C TrON S' MlO PRO eEL) URES2: THE STANOARU PROCEUURES1: OUTPUT PROCEDU~ES

!----,-----_._--~-,--,-!

DISTRIBUTIONl FREEI.

+ ...-._-_.__._,-'_._-,----_._,----'_._,-'--- --,-- --'- -- -,-,_.- _._._--_._.- -,- - -_._._.- _.- _._--- --- --_._,--_._- _._._---+

PRItH(Pl, P2, ••• , Pi·n STArJQS FUR THE CONSTRUCTA~GIN PRINT(P!); PRINT(P2l; ••• , PRINTCPN) END~

PRINTCPl) CAUSES THE ACTUAL VALUE OF THE PARAMETER PI TO BEPRINTED. THE F0RMAT OF THE OUTPUT, I.E. THE NUMRER OF CULUMNSHEjERVEO FUR THE VALUE, CAN BE SPECIFIED BY THE FIELD wIDTHUP TTON. THE FIt.L0 i'l! 0 TH I'~ lJ ST b E AN I NTEGERE XP r( f SS ION THATyrEL~S A VALUE THAT IS EUUAL OR GREATER THAN THE DEFAULT VALUE.IF NO FIELD wIDTH IS GIVEN, THE FOLLU~ING DEFAULT VALUES WILLHE USED:

INTEGERBOOLEANLOGICALCHARVECTOR

10111

NUMBER OF ELEMENTS * DEFAULT FIELD WIDTHOF ELEI--1EN T TYPE

- PRIMTLN ~ITHOUT A PARAMETERLIST wILL CAUSE THE CURRENT OUTPUTLI~E TU BE TERMINATED. THE NEXT OUTPUT VALUES ~lLL APPEAR ATTHE t3 EGI 1'1 NIN G 0 F A i~ E I~ L rr~ E •

- PRINTLNCP1, P2, ••• , PN) IS EQUIVALE~T ~ITH THE CUNSTRUCTr) EGI i'J P RI i'J T ( P 1, P 2 , ••• , P i'i): P RI NTLN E :~ D•

NOTES:

- "FALSE" ''iILL bE PRINTED AS "0";"TRUE" rlILL bE P~INTEO AS "1".

~------------------------------------------------------------------------+~ S LJ p. 0 lJ C. iii R •

QRIGlivAL rS:SLJEPHILIPS RESEARCH LAduRATU~Y

E I N D H I) V E Nt DATE 19~1-02-2b

l PAGE A. 2. 1- 2

+------------------------------------------------------------------------+

Page 113: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---_._--_.__._._------_.__._._-_._._.__._---------_.- _.__._.__._._--_...._-_._-_._._._-_._._-_._._._._,_.+, O.,P.L •.-·

VOLUl--1El. C.HA-PTE~

SEcTrUNSUdS.

USE R MAN U A L1:, PRELIMINARY VERSION I PROPUSAL8: STANDARO FUNCTIONS AND PROCI:.DU~ES

2: TrlE STANDARD PROCEDURES1: OUTPUT PROCEDURES

DISTRIBUTIONi FREE

+--_._._._,------_._.__._._._-~-'-----------~~~-_._-----_._-------_ ....~------,_._-,_. __._._-;-'--+

EXA,'vJPLES:

ASSUME THE FOLLOWING ASSIGNMENTS TO HAVE PRECEDED:

CO U,\j T :.:: 5 ;A(1 •.• 5)::: 11 & 12 613 & 14 & 15;MEMORY :'=F ALSE;

THE'~

PRIN T ( , CO Ul\j T:" , CO UNT t' == > A [C 0UNT) =" A(C au iH) : 4) ;PRINT(' ~1EMORY(1,2):: ',MEMORY(1,21);PRINTLN;PRI I~ TL N( , ARRAY A ::', A) ;

RESULTS IN

lq :-1EMURY(I,2)= 0123 COUNT::12.5123 ARRAY A ::

5 :::: > A (C UUNfl::

11 12 13 14 15

fHE CURRENT SIMULATION TIME IN THIS EXAMPLE IS APPERENTLY 123.

+-------------------------------------------------_._---------------------~i SUP. DOC. NR.! ORIGINAL ISSUE

PHILIPS RESEARCH LABORATURYErN D H 0 V E N

l DATE 19S1-02-26l PAGE 8. 2. 1- 3 l

.------------------------------------------------------------------------+

Page 114: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

~-_._._,---_._-_.~-_._._--'--_._-_._._-_._.__._--~--_.--_._-_. __._-----_._---_._-,-_._---_._--_._._.+~O.Y.L .,-' 1I

VOLUHECHAPTERSECTIUi~

SUBS.

S E R Nt A N II A L

1: PRELIMINARY VERSION /9: THE n~CLARATION PARTo:0:

PROPOSAL ~ --.-~-.----- - -.----,- -.-.- lDISTRIBUTIONFREE

+-,--~-------_._._._._---------------_._'-_._---_._ .... -----_._--_._,---_._-_._--,-_.__._---_._._.+

9. THE O~CLARATION PART

SYf\JThX:

----------"!'---> [ CONSTANT DEFINITIUN PART} --.--------------."!'V+._----_._._-,-_._,._._- -..... ------_.~ <-- ------ .... -._---- -- --,-_._.- - +

+-.-.-.> [ VARIAbLEV

DECLA~ATION PART ]---------------"!'1

+-_.__._--------_.__._------<_._---------------_._-_.-----.+---> [ VARIA~LE INITIALIZATION PART ]------------+V+---_._-------_._-_.__._._----<---~------,-------------_.++--->[ TARLE OEFINITION PART ]-------------------+V+---_._-----_._-----------<-----_._------------------++--->( PE~MANENT ASSIGNMENT DEFINITION PART ]----+V+._-----~-~----_.__._._-----<----------------------_.-++--------------_._-------_.>--------------------------->

+------------------------------------------------------------------------+sup. OLJC.

OR I GF~~ Lf\IR.

ISSUEPHILIPS RESEARCH LA80KATO~Y

E I N 0 ~ 0 V E NllATEPAGE

t9Rl-02-264. O. 0- 1

~----------------------------------------------------- -------------------+

Page 115: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--.-_.__._-----_._--_._-_.__._-------'-_._--_._--_._-._----------_._-----_._.__._._---_._~._._+u.p •.L .-.

1. VOLUI-1E:CHAPTEi-?SECTr Oi··JSUtjS.

USE R MAN U A L1: PRELIMINARY VERSION I ~ROPUSAL

g: THE DECLARATIUN P~RT

t: CONSTANT OEFINITION PARTv:

l--·------,----·--·--~-·!DIS Tf( I BUT I DN

1 FREE1

+_.__•._--_._-~_._-_._._._._._-_._._.__.__._._._-_.__.----_._._---_._--_.__.__._-_._----_._-----_._-_.+

9.1 CONSTANT DEFI~ITION PART

A CONSTANT DEFINITION INT~ODUCES AN IDENTIFIER TO BE A SYNUNYMFOR A CUNSTANT. THE TYPt OF THE CONSTANT IDENTIFIER IS THE SAME ASTH~ TYPE QF THE CONSTANT. TYPE AM~IGUITY UF THE CONSTANT IS INHERITED~y THE CONSTANT IDENTIFIER.

SUPPLE~ENTING THE DEFINITION IN CHAPTER q, WE NOw DEFINE THESYNTAX OF THE VARIOUSLY TYPED CONSTANTS TO BE:

CONSTMJT-.------.---.-----.+---.----.---- ----> ( SC AL ARC ONS TAN T

+-.-,-------------> (VECTOR CONST ANT

) --_.+ ---_.>!

J _.•-. +-

+--+-----~----+->( CONSTANT IDENTIFIER J---+

+-_.> "T" _._.+-

!+._-> ,f _.It --+

CONSTANT IDENTIFIER------------------------> [ IDENTIFIER )------------------------>

THE SYNTAX OF THE CUNSTANT DEFINITION PART IS:

-->"CiJNST"--.-> ( COrlSTANT IDENTIFIER) --':'--> [ CONSTANT) -->"i "--+-->!

+-------------------------<---------------------------+EXAMPLE:

CUNST ZERO : I)if3LArJK = , , .,Ui>JK"H)'NN = '* ;S~ACE = d L A I~ K ;BYTE.I) = 'OOl)OOOOO I;"HN = -10;MAX = -MINi

+------------------------------------------------------------------------+t SUP. Due. NR.

o~ I GI iii ALL S SUEPHILIPS RESEARCH LA~O~ATORY

E I 1,1 D H 0 v t: i\j

~ DATE 1981-02-26~ ~AGt 9. 1. v- 1

+------------------------------------------------------------------------+

Page 116: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--,----_.__.~--_._-_. __._._-'-_._-_.__._----~--'_. __.-_._._._._._-_._._._.__._--_._.__._,----_._,---,_.__.+.O.p .L .---

~_ V0 lU "'1 E::CHAPTE:HSE:CTIO~J

:JUBS.

USE R MAN U A L1: PRELIMINA~Y VERSION I PROPOSAL~: THE DECLARATION PART2: VARI~6LE DECLARATION PART0:

I.l -,-._--.-.-.-.-._.-.- -.- ---·_.. 1

DISTRIBUTIONi FREE

+-_._,_.__._- _._,_.- -_.__._,_._-_.- --,_._._._._._._- - _._._._.- _.- --_._._.- - -_.- - -- -- - - _.- -- _.- _._,_._._._._._-_.- ..

g.2 VARIA~LE DECLARATION PART

THE VlRIABLE OECLARAfrON iNTRODUCES "USER DECLARED" VARIABLESBY STATING A LIST OF VARIA8LE IDENTIFIERS ASSOCIATED ~ITH A TYPE.THE IOENTIFIER-~YPE CORRESPONDENCE IS VALID THROUGHOUT THE WHOLEPROGRA~, A~D CAN NUT BE CHANGED.

SYNT~X:

VARIABLE DECLARATIUN PART

----1'--->-[ IDEI\JTTFIER }--+--- ":'. -->( TYPE ]-->I.+. .__. '.,1' < . +

If .. ",

+--------,--_._----_.__.__._-<-------------------------+

EXM·1PLE:

VARC l) Ui'~ T, IJLETTEr<SIAr<T,RESETREGISTERMEMORYNAMEFLAG

INTEGER;--1 0 •• + 1 [) ;'AI •• 'll;LUGICAL;.1,RRAY (0 •• 7] nF LOGICAL;AI~RA'([O •• 25S,O •• lS) OF 800lEAj"'J;ARRAY(1..10} OF 'AI •• 'ZI;BOULEAN;

+------------------------------------------------------------------------+1 SUP. OOC. NR. 1 PHILIPS RESEARCH LABORATURY 1 DATE tg81-02-2b 1! ORIGINAL ISSUE E I NOH a v E N ~ PAGE g. 2. 0- 1

+---------------------------------------------------------------------~--+

Page 117: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-.-.--.----.---,-----.-'--.--..-..----.-.- --,-.-<-.--.-.---..--.-.----.-.-.- -_.-._-._.- -.---._.- --- - -·-----·--~1

o. P .-L •.-­VOLlJHECHAPTER

l SEC rrO!~

SUFIS ._

USE R MAN U A L1: ~RELIMINARY V~RSION / PROPOSALg: TKE D~CLARATrON PART3: VARIA8lE INITIALIZATION PART

!-,-----·-·-·---,------·-·lDISTRIBUTION

~ FREEl

+---_._._._._-_._-_._~---~_._-~_._-----_._-----_._.__.-------_.__._._.__._---_._~-,-~-----_._--~

q • 3 VA10< I Aa1_ E I NIT I ALIZ ATION PAR T

A VARIABLE CAN ~E ASSIGNED A VALUEr PRIOR TO THE EXECUTION OFTHE S TAT 01 t IH.5, (3 Y ...., E ANS 0 F- Aj\j I NI Tl ~ L --v AL UE ASS r G~4 t;i EIH •ONLY COi\JSTA,\jTS ~~AY t3E USED AS (JPEKAI\jOS IN THE EXPRESSIO'~.

SYNTAX:

VARIA8LE INITIALIZATION PART

--,--> "TNIT't -,_..,.-->[ INITIAL-,VALUE ASSIGNiwlEfl/T J ---:> "i" ----+--->i+-_._._._-_.__._--_._-----<-_._--_._---_._---------_.- --+

1 il/ rTI AL-V AL LJ E ASS I G'\.1!1i1 EN T

---.-----------.> r VARIAdLE J ----> If:=_" ---:> [ EXPRESSION J -------->

INIT COUNT ·- ZERO + 10;.-REGISTER ·- BYTE.Oj·--LET Tt;i~ ·- , X ' ;·-START .. - FALSE;·-MEr-10RY [U,O •• lS) ·- , 000 0 1 1 1 1000 0 1 1 11' i·-

+------------------------------------------------------------------------+~ SUP. DOC. !'~R.

~ ORIGII/AL ISSU£PHILIPS RESEARCH LABO~ATORY

E I N D H 0 V E ~

l GATE 1981-02-26~ PAGE 9. 3. 0- 1

+------------------------------------------------------------------------+

Page 118: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--_.__._._'---- --_._._._._- --,_._-_._._----_._._._.- -_.- -'--'-'-'- -_.- -_._._-- -,_._-_._._- -',-,-,- -,-----_.- _._.+O. P •.L .....VOLUMECHAP TEK

~. SEC T I 0 I'll

!. SUBS.

USE R MAN U A LL~ PRELIMIN~RY VERSION I~: THE DECLARATiON ~ART

~: TABLE u~FINITIUN PART0:'

PROPOSAL, __._.__._._._._. ,_. __.__ . J. .

DISTRIBUTIONi FREE

+,.-._._._.•,--_._._---_._-'--_.__._._-- _._,_.- -,_._._._,-- _._._._-- -,-- _.- -'-'-'-'," --_._-_._._._.__.- - _._.- _._--_._,- _.+

9.4 TAdLE DEFINITION PART

A TABLE IS A LIST OF TABLE ENT~IES THAT OEFINE CUNVERSIONS OFA (LISr OF) CO~STANT(S) UF U~E TYPE TO A CONSTANT OF THE SAME ORANY OTHER T'fPi:.

A TAHLE REFERENCE CAN RE A FACTOR IN AN ExPRESSION. THE TABLEIDENTIFIER wILL HE ASSIGNED THE VALUE SELECTED BY THE ACTUAL PARA­METER. IN TrlE TAdLE DEFINITION THE FORMAL PARAMETER IS SOLELY USEDTO OESCRldE THE TyPE OF THE ACTUAL PARAMETER: THE TYP~S MUST BECUl'l PAT I b LE •

IF WE 'ItaNT TO ASSIGN A· SPECIFIC VALUE TO THE TAtjLE IDE1'JTIFIER,IN CASE THE VALUE OF rHE ACTUAL PARAMETE~ DOES NUT FIT ~ITH ANY OFoE F· I ;\j toe 0 N S TA;\J TS, Trl E "0 THf. R.'II S E It CUNS TRUCT CAN BE tJ SED. I FIT I SNUT US E.lJ A~JO THE V~ llJ E 0F THE ACT UALP ARAr,j ETEK I S NOT PRE SEN TIN TH ETAgLE, TH~~ A RUN TIME ERROR RESULTS.ONLY ONE "OTHEH~ISE" ENTRY IS ALLOWED PER TABLE DEFINITION, AND MUSTBET HE LAS T ErJT RYIN THE TALi LE•

SYNTAX:

TABLE DEFINITION PART

--+->"TA8LE"--[ HEADINGI.

} - - " ; " - - tI 8 EGIN It - - ( TA8 L E ] - - II E i'J 0 " __ .t ; " - - + - >

1+_.-._--------.---------------<---------------------------------+

HEADING

-.-> (TABLE IDENTIFIER) __ " ("-- (FORMAL PARAMETER) --": "_- (TYPE] __ II) "--+

~--------<-----------+

+--'t: " __ (TYPE] >

TABLE----------------+-->[ TABLE E~TRY )--+------+---->-----+---------->

~

+------- It • H, <-------+ u • n, --+

+------------------------------------------------------------------------+! SUp. ODe. Niol.i O~IGI·\jAL ISSUE

PHILIPS RESEARCH LAaO~ATuRY

E I NOH 0 V E N! DATE 1981-02-261 PAGE 9.~. 0-

+------------------------------------------------------------------------+

Page 119: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+ _._._._.-.-.- -_.._._.- --,_.__.__.- _. __._.__._._.- --_._.- -_._,_.- _.- - _._._._._._.--- _.- _.- _._.__.- - _.- _.- _.- _._._.- -_.+

O.P.L •. -­VOUJHE

i CHA·P rF. RSEC 1'1 ONSUBS.

USE R ~ A N U A L1: PRELl~lN~RY VERSIUN 1~: THE DECLARATION PARTq~ TABLE DEFINITION P~RT

0:

PROPOSAL ~-·-·--·---·-·---·----·---·lDISTRIBUTION

~ FREE

+, ,_.__._.__._...__,_._._._.__'•._.-.__.__.__._._._._,_'....... _.•._._,_.'_,_... __ ....'_.__. .... _ .''41._._....,_'.. _._....__'...._......+.

TABLE ENTRY

-----.->-+-->( CONSTANT ]--+->-+-->I I.. .

+._.__~_.__. ",'1 <._._,_._.+.

+------>[ OTHERwISE ]-----+

TABLE IDENTIFIER / FURMAL PARAMETER

" . ". -->[ CONSTANT }-----+----->

---------------------->( IDENTIFIER ]----------------------------->EXAMPLES:

TAKLEBEGIN

1*

ENO;

SEG7.rNT(~:ARRAY[1 •• 71 OF LOGICAL)

ABCDEFG *1, 1 t 1 1 110 ' 0 ;'0110000' 1;, 1 101 101 ' 2 ;'1111001' 3;, G1 100 1 1 ' 4 ;, 101 101 t ' 5 ;, 001 1 1 11 1 ,

'lUil1ll' : 6;, tIl 000 1 ' ,'1110000' 7;'1111111' : 8;, 1 1 100 1 1 ' ,, 111 101 1 ' 9 ;OTHERlUSE : -1;

-1 •• 9;

TABLE DAYUF;liEEK (I :1 •• 7)

BEGIN1 ' r-.1O I'~ , ;

2 'TUE';3 : 'WED';4 'THU';5 'F~I';

(, 'SAT';7 'SUN'

OJD ;

ARRAY (1 •• 3] OF CHAR;

+----------------------------------------------~-------------------------+1 S LJ P. DOC. ~j R •

1 O~I~INAl ISSUEPHILIPS RESEARCH LA80RATO~Y

E I ~) 0 H 0 V E r'~

1 DATE 1981-02-26i PAGE 9. 4. 0- 2

+------------------------------------------------------------------------+

Page 120: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--_._'_.__._-'-_._._-'-_.__._--_._._.__._-----_.__.__.---,-'.-----_._.---,_.__.•._,--_._---_.__._,--_._--_._--.. _+

o•.P •.L.-·VOllJ(I,IECHA.? rE~

SEeTInN~. SUSS.

lJ S t: R M A i ~ U A· Ll~ P~ELIMINARY VERSION / P~OPOSAL

~: TrlE DECLARATION ~ART

5: PERMANENT ASSL&NMENT OEFINITION0:'

PART

l -.-.---.-.- .-...'- ---.-----. ~

DIS rR 18 \J TI ONl FREE

+-_.__.....-'_._._-_.__.__...- -- - -,-'......- •._,_.. ---_.- -_._,. - -,•.•._,_._._- -_.•._-,_._.__._.- _._._._--- _._-_._._- _._,_.+

~.5 PERMANENT ASSIGNMENT DEFINITION PART

SYNTAX:

PERMANENT ASSlG~MENT DEFINITION PART

---> "LJEF UJE" --1"--> [ PERp,L\NENT ASS IGNI-1ENT ] ---> ";" ---+------>+-··-·---·------------'c----·--·--·----------·--·+

PERMANE~T ASSIGNMENT

----> [ PE~MANENr VARIABLE ]---~ ":=" ---> [ EXPRESSION )-------->PERMANENT VA~IA8LE

--------------------->( VARIABLE ]----------------------------->•

A PERMANENT ASSIGNMENT DEFINITION STATE~ THAT A VARIAbLE HAS TO 8EUPDATED IiJ SUCH A 't~AY THAT PERMANENTLY, I.E. AT EVERY TIr"ESLUT, ITSVALUE0IILL 8E EI.JlJAL Tt) THE RESULT OF THE E:.XPRf:SSlu:\J ~VALUATION.

APE Rr" Ai~ €:'J T VAR I Ab L E CAN f::l E THO UGH T 0 F ASA" SI G~J AL" 0 F A LJ SEf.? 0ECLA REDDATA TYPE.ASSIGNMErJTS Tu SUCH A VARIABLE IN THE STATEMENT PART A~E NOT ALLOwED.

wITH THE AID OF TABLES, STANDARD FUNCTIONS AND OPERATORS ~E AREARLE TO CONVfRT AND/OR GROUP SIMULATIorJ OUTPUT SIGNALS INTO MORE CON­VENIENT DATA TYPES.

EXAi~PLE :

DEFINE dCO :; ~ITO & AITt & 81T2 & bIT3;HOUR := ENCUUE(H3,rl2,H1,HO) + 10 * ENCUOE(HS,H4);

+------------------------------------------------------------------------+!. S IJ P. DUC. ['-j R •

OR I G PJ ALIS SUEPHILIPS RESEARCH LAdnR~TORY

E I NOH 0 V E N! DATE 19S1-02-2b~ PAGE 9. S. 0- 1

+------------------------------------------------------------------------+

Page 121: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--,--_._-_.- - _._._.__._- _._._._._----_._._- _._._.- -----------_._-----_.- - - _. __._.- - _.- -- _.__._.- _.- _._- - +

! O.P.L.-'VOLLH-1ECHAPTEr.(

~. SI: CTI (J;-J

SUHS.

USE R MAN U A L1: PRELIMINARY VERSION I PROPOSAL

10: THE UPL PROGRAMU :0:

!.------------_._._.__._--!LlISTRIBIITION

l FREE

+.---,-,-_._._--_.__._----'_.__._'-_._._.-._----_.__._--._-_._._--_.- .. -_.__._._._--,_._------_._-----_._,_._-+

10. THE OPL PRUGRAM•._...'_......_-'-.-.__._._._.-

AN OPL PROGRAM AL~AYS CONSI&TS OF THREE PARTS, ACCURDING TO THEFOLLOWING SYNTAX:

PROGRAM

---> (PROGRAM HEAUINGJ--[D~ClARATIUN PARTJ--(STATE~ENT PART)- " ". -->

PRO GRM·1 HE A0 I 1'1 G---> "PROGRAM" ---> (PROGHAr-l NAi'-'1E

PROGRAM NAME J---> I... ", ---.. ------_._-------_._---->

-----_._._-_._-_ .... ---_.>[ IOENTIFIER J-~_._-_ .. _.~ ..... ------- .. _---.~- ....--.--~--->

THE PROGRAM NAME SERVES AS A USER IDENTIFICATION OF THE PROGRAM.

rHE TEXTUAL ENO OF AN OPL PROGRAM IS INOICATED BY A PERIOO " "

+------------------------------~---------------------- -------------------+l SUI;). 0 () c. i~ R •1 Or<IGPJAL rSsUE

PHILIPS RESEARCH LABuRATURYE I NOH 0 V E N

l DATE 1981-U2-26l PAGE 10. O. 0- 1

+------------------------------------------------------------------------+

Page 122: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+---.- -,_.,_._- - --- -'-_._._,---- _.- _.- _.- _._._._.- --_.- _. __._.- _._.- -,- _._._---_._._._._._- -,-- -- _._,- _._.__._.__.- +

U.P.L.­V0 LlJ ~1 ECHAPTE~

5ECTIOr-Jsua s •.

USE R MAN U A L1: p~ELIMrNARY VERSION

10: THE OPL PROGR~M

1: AN ExA,'1 PL Eo:

/ PROPUSAL.L DISTRlt:3UTIONi FREEi+._-_._._._._,_._,--------,_._._._--_. __._.__._._.- -_.- _._._._._---- _._- ---_._._._.__._,-,--_._.__._.- _._- --- _.__.__._-.

10.1 AN EXAI"1PLt.

AS AN EXAH~LE THE OUTPUT OF THE SIMULATION OF THE HARDWARE FUR ADIGITAL ~RIST-WATCH ~ILL BE P~UCESSEO. ASSUME THAT THE FOLLOwING SIGNALSARE USEU IN rHE SIMULATIUN:

H5,HQ,H3,HZ,Hl,HO : THE OUTPUT OF THE "HOURSK-COUNTER IN BINARY CODEDDECIMAL,

Mb,~5,M4,.M3,M2,Ml,MO : THE OUTPUT OF rHE "MINUTES"·COUNTER IN BCD.

W02,~D1,~OO : INorCATING THE NAME OF THE DAY OF THE wEEK, E.G.001 = ~1L)r'~[)AY, 010 = TUESDAY.

A PART OF THE SIMULATUR OUTPUT TABLE LOOKS LIKE:

HHHHHH MMMMMMM ww~

543210 6543210 ODDTIMESLOT 210

~_.__._._._----------------_._._----------------_.----~---~--0 100011 1 0 1 0 a1 1 001

73 100011 1010100 001lqb 100011 1010 1 0 1 OO!?lg 100011 1010110 0012t}2 100011 1010111 001365 100011 1011000 00143R 100Ull 1011001 001511 100100 0000000 010584 Quanoo 0000001 010657 000000 0000010 010

,~F.. SPEC IF Y THE F OL LO~~ Ii\lG PROCESSING ACTIONS;

1. GROUP H~ •• HO ANO M6 •• MO INTO LOGICAL VECTORS AND CONVERT THEMTO INTEGER VAHIABLES, "HOUR" RES? "MINUTE».

2. PRINT THE NAME OF THE DAY AS A THREE LETTER STRING.

3. TEST THE "H 0 lJ R" CO Ul\lT ER 01'1 ITS CO U;\j THH; SECJU EI~ CE•

4. THE VALUES [J F It H0 UR", It ,"1 r NLJ TE" AND " DAY ~1 A,'.\ E" HUST 8 E PRI NTED •THE NAMES OF THE VA~AIBLES S~OULU 6E PljT VE~TICALLY ABUVE THECULUMNS.

+------------------------------------------------------------------------+~ SUP. Dl1e. r'IR.i ORIGI~AL ISSUE

PHILIPS RESEARCH LAbORATURYE I NOH 0 v E N

! DATt 19d1-02-26! PAGE 10. 1. 0- 1

+---------------------------~------------------------- -------------------+

Page 123: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_._,--'_._--_._- _.__._._._._,_.- _.__._----,_._._._-,_.- ---,-,--,- ----,_.__._-,_.__._,- -_.- --_._-_._-- _._.- -- _._,-,+

a .,P .,L •. •·1. VOLUHE

CHAPTERSECTIONSUbS •.

USE R MAN U A L1: PRELIMINARy VERSIUN

10: THE OPL P~OGRAM

1: M-J E XA"iPLE0:-

I PROPUSALI _._._.__.__._.__.__.__._. .,. .

DfSTRIBUTIONl. FREE

+------,--- -_.- -,-- -'-,-_.- --_._-_._---_._----- -_._--,_._._- -,_._,---,-,-,_._._- - --- - ---'-'-'- --- _._-,_._,- - -,- +

THE PROGRAMMING CUNSTRUCTS TO EXPRESS THESE ACTIONS ARE:

1. 0 EF I NE rHE F 0LLUwIN G PER HAhi OJT ASS I GI~ ME~H S ,

HOUR ~~ 10 • ENCODE(H5 g H4) + ENCODE(H3 ~ H2 & Hl & HO);MINUTE := 10 * ENCODE(M6 ~ M5 & Ma) + ENCODE (M3 & M2 ~ Ml & MOl;DAY~AME ~= DAY.OF.~EEK(WD2 & ~Ol & WDO);

2. DEFINE THE FOLLOWING TABLE,

TABLE DAY.OF.WEEK (0

BEGIN001010011100101110111

OTHERWISEEND;

'MaN';, rUE' ;"~EO'i

'THU'i, F R! ' ;I SAT' iIS UI\j , ;

, ,.. ** ' ;

ARRAY [1 •• 3) OF LUGICAL)ARRAY (1 •• 31 OF CrlARi

3. TrlE TESTI~G OF THE COUNTER IS DESCRIBED BY THE FOLLOWINGON-S TAn:.i\IEN T ,

O~ TRANSITION MINUTE FRUM 59 TO 0 00t3EGIN

P~INTLIsr;

IF HOUR <> (OLDVAL(HOUR) + 1) MOD 24 THENPRI 'n LN( I ERR L1 R I N II H0 LJ RIt CO UN TER l! l ' )

END

q. WE USE A VERTHEADING STATEMENT,

VERTHEAOI~G (rlOUR:3,MINUTE:3,DAYNAME:Q);

TOGETH~R ~rTH A PROPER DECLARATION OF THE USE~-VARIA8LES WE GETTHE FOLLOrlING OPL PROGRAM (NEXT PAGE)

+----------------------------------------------------- -------------------~1 SUP. DOC. NR.1 ORIGIN~L ISSUE

PHILIPS RESEARCH LABORATURYE I NOH a v E N

! UATE 1981-02-26! PAGE 10. 1. 0- 2

+------------------------------------------------------------------------+

Page 124: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+._--'--_._--'-_.- _._._._._._.- _._,_._. __.,_._._._.- ---_._._,_.- -,--- -- -- _._._._.- _.. _-_._.- -_._,_._.--- -- ----_._._'.O.P •. L •. -­VOLUMECHA.PTE'"SEeTIGI\j

SUBS .'

U 5 t R 1\4 A N lJ A L1: PRELIMINA~Y VERSION

10: THE OPl PROGRA~l

1: AN EXA:"1PlE0::

/ PKOPQSAL 1_._-._-_.-.-,---.- --,-,--,-,- !OISTRloUTION

! FREE!

'?" ._. . ._,_.__. ._. ._. -_._._.__. ._.__._._.__.__.__._._ w.»,_'_'_' . ,__.__. +

PROGKAM EXAMPLE;

VAR HuUR,MINUTe: INTEGER;oA 'fI\J M"1 E : ARRAY ( 1 • • 3 ] 0 F C11 Af< ;

TABLE OAY.OF.~EEK (0 : ARRAY(1 •• 3J OF LOGICAL)ARRAY(l..3J OF CHARi

BEGIN001010011100101110111

OTHERI'IISEEi'JO;

OEF FiE

'~ON' ;'TUE';, i'~E D ' i

: 'THU';'FRI';

: 'SAT'i: ISUI'~';

, ... ** ' ;

HOUR := 10 * ENCODECHS & HQ) + ENCOOE(H3 ~ H2 & HI & HO);MINUTE := 10 * ENCODE(Mb & MS &"14) + ENCODE C:-43 ~ ~~2 & H1 & 1~10)i

DAYNAME := DAY.OF.WEEKC~D2 & ~D1 & WOO);

VER THE AuI i'J G (ri 0 l) R : :5 , 1-1 IN UTE: 3, UAYrH ME: 4) ;

ou~p.,G ALL DOON TRANSITION MINUTE FROM sg TO 0 00

dEGIi'JPRINTLIST;IF HOUR <> (tlLDVAL (HOUR) + 1) MOO 24 THEi\i

PR I i'J TL~ ( , ERl;l 0 R IN" H0 URile 0 U~J T ER ! ~ ! I )

EI'JOE. i~ 0 •

~----------------------------------------------------- -------------------+~ SUP. DOC. NR.! ORIGINAL ISSlJE

PHILIPS RESEARCH LABORATORYE I ~J 0 rl 0 V E (\J

i DArE 1981-02-26! PAGE 10. 1. 0- 3

+------------------------------------------------------------------------+

Page 125: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--_._--_.__._-~_._._-_.~---'-----_. __.-_.__._-~---_.-._._-_._._-_._-_. __._---_._----_.__.~-----+G •. P •.l.­VOLUMECHAPTERSECTI()~~

SUI3S •.

USE ~ MAN U 4 L1: PRELIMINARY VERSION

10: TrlE OPL PRUGRAM1: AN EXAi'''PLE0:

I PROPOSAL 1~--------·-·_--·-----·--!DISTRIBUTION

~ FHEE~

+-_... -._--'_.-,-,-._'....-.--- --- .. -,-.- - -.-.-.-._.- _.~-.-.--._--.-.- -.- - -.-.-._-.-.-._.-._- _.-.-.-.--,-,- - -._._.-,- -.--1"

THE OUTPur TABLE PRUDUCED BY THE PROCESSOR WILL LOOK LIKE:

H '.1 Q

0 I AIJ N 'fR U N

T AE M

TIMESLOT E

0 23 53 ''-l0N73 23 S4 i'-l0N

146 23 S5 MaN219 23 56 MOi'i

292 23 57 Mor~

365 23 '58 ,\j 0 f'J

438 23 S9 MON511 2q 0 TLJE.Sl1 ERROR Ii\! "HUUR" CUUNTER l !. 1584 0 1 rUE584 ERROR IN "HOUR'I COUNTER ' I I...hS7 0 2 TUE

+----------------------------------------------------- -------------------~1 SUP. lJll C. i\l R •~ 0 I~ I b 1 '~A LIS S U t

PHILIPS ~ESEARCH LABORATURYE I N U H U V E N

1 DATE 19~1-02-2b

1 PAGE 10. 1. 0- 4

+------------------------------------------------------------------------+

Page 126: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+--_.__._'------_._---_._-_._-_._._'_._._.__._._._--_.----_.__._._----_._._---_._._._._.__.__._-----,_._._.~-+

1. 0 ecP •.L-.-'L VoLlH'1E

CHAPTERSECTION

I SU8S •.

LJ S t: r~ rvi ,A, ij U A L1: PRELIMINARY vtRSION / PROPUS~L

0:: AJ' P E.'JD IX A

0: COMPILER ERROR MESSAGESo:

!---,--,-_._-_._~-_._----!

DISTRIBUTIONl F~EE

+._--_._--_._--_._.__._.---- -,--_._.- _._- -,_._.- _.- ---,_._- _._._-_.- --,----_.-_.....-_.- -'_._.- --- -,_.- -,-_._,--+

A. COMPILER ERRUR ~fSSAGES

THE OPL CO~PILER INOICArES ERRURS dV INSERTI~G AN ERROR MESSAGEAS CLOSE AS POSSIBLE TO THE POSITION OF THE ERRONEOUS CONSTRUCT I~

THE SOURCE LI,JE.THE FORMAT OF AN ERROR MESSAGE IS 8E5T EXPLAINED BY AN EXA~PLE:

2****

1 PROGRAM TEST;2 VAR HOUR: 0 •• 23

bYTE: ARRAyeD •• ll OF BOOLEAN;2 r14 tll3 1,J INTEGER;4 J BUOLEAN;4 t 101

•••

THE FIRST ~jU''"!BER UF THE MESSAGE INDICATES THE TOTAL i\lU~<\8ER DF ERRORSI !'II CL\J 0 I NG THE 0 NE S Pi THE CUR RENT SOU ReEL I NE. f hESE C0 I'JO NUMRER I N0 I ­CATES TrlE SOURCE LINE ~HERE THE ERRORS ~HERE FOUND. THE NUM8ERS TO THERIGhT SlOE OF THE ARRQWS REFER TO THE ERROR NUMBER SUMMARY THAT BRIEFLYEXPLAHi 5 THE l\j ATiJ RE () F THE ERR 0 R•

+-----------------------------------------------~----- -------------------+l SUP. [) UC. i~ R •! 0 RIG I :1/ ALIS::, UE

PHILIPS RESEARCH LAdORATuRYE I I'J 0 H 0 V E fJ

! DATE lQS1-02-26! PAGE O. O. 0-

+------------------------------------------------------------------------+

Page 127: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+-_.. __._._.- - - _._._._- - --~-_._,-_.- - - -_..... - _._._- _.- _._._._.- - - - _.__.- _._._,---_._._.- _._-,_._._._._,_._-,---_._.+.O.P.l.,- UVOLUME

I CH'APTE~.'SfCTln,~

I SlIBS.

S E ~ MAN U A l1: PRE-lli-i!i'<ARY VERSION / PROPOSAL(): A,P PEN Ur X A1: ERROR NUM8ER SUMMARY0:

1 __1_'_'_' '_'__'__' '_' __ '. .DISTRIBUTION

i FREE

....._._-...-_._._-_._._._--._._,-... --_._._,_._-,--_._,-....... -' ......'-_.• -------,---~._._,---_._. __._-..'_....__._._._'--,+

A.1 ERRO~ NUMclE~ SUMMARY

1: ERRO~ fN SIMPLE TYPE2: IDENTIFIER EXPECTED3: "P'"?OGKA,"'\" EXPECTED4: If)" E.<PECTEO5: ~:" EXPECTED6: ILLEGAL SYMbUl7 :8: "OF" EXPECTED9: 'i(~ EXPECTED

10: ERROR IN TYPE11: "(It EPECTED12: It) If EXPECTED13: ItENO" ExptcrED14: ";" EXP~CTEU

15: INTEGER EXPECTED16: ,,~" EXPECTED17: "bEGli~" EXPECTEO1 8 : E 1'< fhJ R I;IJ 0 EeL ARAT I UN PAR T19:2 \) : If , It EXPEe TED21 :22: 'fl/ERT"EADING", ~HORHEAOING" OR "DURING" EXPECTEO23: STQING CONSTANT EXPECTED24:25: CONSTANT IS NOT A LOGICAL CONSTANT

50: ERROR IN CUNSTA~T

51: ":=" EXPECTE852: "THEN" EXPECTED53: "UNTIL" EXPECTED5q: "DO" EXPECTED5 5 : " TO" UR "I) 0 i~ NTO" E XPEe TED56:57:58: E~ROR IN FACTUKsg: EkRUR IN VA~IABLE

60 : ERR 0 R I i-,J DLJ RI NG :s TAT E1"1 E1') T6 1 : VECTOR COli S TAN T fJlH ALL o:~ E D HE HE62 : ERR 0 R PI Ei''l1 Rye 0 i~ ST AiH63: ERROR IN CAUSE64: IOE:I.JTIFIEri !'1 1JST udHJTE A PER."1A'JEi'H VAriIAnLE

+--------------------------~---------------------------------------------+i S I I P. DOC. ~~ p •

~ ORIGI~AL ISSUePHILIPS RESEARCH LAdORATU~Y

E I N D H 0 V E N1 DATE 1;81-02-26~ ~AGE O. 1. u- 1

+------------------------------------------------------------------------.

Page 128: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

+ -- ._.__. .__ -"-,_._.- ---.-.-,-._-_._.- - --,--.-.-.-.. -,--,- - -.-,-.-'-.-.-,-- - ---- --.-.-- -.- - -.-.-.-.- _._-.--t"O•.P •.L •. -· U S E R M A N U A L

I VOLtY-1E 1 : PRELI,vlIIHRY VERSION / PROPOSAL !---_._-,---,-----,--_._!..[H"APTER 0: APPENi)IX A DISTRIBuTIONSEC T rO:~ 1 : ER R·Ok' ;~tJMl::\ER SUMiv1ARY I FIo/EE

I SUBS. o: cor-n INUED 1."+----_.__._----_._-_._----_._._._-~-_._. __.__._--_._.- --_._--_._._._--,--,---_._._--_._------_._--+

162: TYPE MUST NOT HE LOGICAL183: INDEx TYPE MUST 8E INTEGER SUB~ANGE

1a~: ONLY 1 VECTOR SUBRANGE PER ARRAY SU8SCRIPT ALLOwED1i\ 5 : Vt: CT()f-< SlJ b P. Ar~ GF. 8 0 UNDSHU S T 9 E CON S T Ai"H S186: TYPE MUST bE 800LEAN OR LOGICAL OR A BOULEAN OR LOGICAL VECTOR187: ARRAY ELEMENT TYPE MU3T BE INTEGER OR INTEGER SU8RANGE188: TyPE OF EXPRESSION MUST BE BOOLEAN189: ~HILE LOOP NEVER TERMINATES\90: ILLEGAL TYPE OF VARIABLE19 1 : 0 r~ L Y 1- 0 I ME[\, S I (J ~ J AL ARRAY ALL 0 't4 ED192: TYPE UF CONSTANT MUST BE BOOLEAN OR BOOLEAN VECTOR

202: VECTOR CONSTANT MUST NOT EXCEED SOURCE LINE203: INTEGER CUNSTANT EXCEEDS RANGE204:205: VECTO~ ~ITH ZERO ELEMENTS NOT ALLOWED206:207: INTEGER CONSTANT SHOULD BE NON-NEGATIVE208: HEAOING LINE BECUMES TOO LONG209: TOO MANY LINES IN HEADING

255: TOO MANY ERRORS ON THIS SOURCE LINE

305: ARRAY INOEX OUT OF BOUNDS

398: I~PLEMENTATI~N RESTRICTION

+------------------------~-----------------------------------------------+l SlJP. DOC. NR.l ORI~r~AL IS~UE

PHILIPS RESEARCH LABORATORYE I NOH 0 V E N

~ GATE 1981-02-26~ PAGE O. 1. 0- 2

+-----------------~----------------------------------- ----------.--------+

Page 129: Ialexandria.tue.nl/extra2/afstversl/E/310777.pdf · in detail and will indicate the chosen solutions and their ... - the oaf a is represented as ~aveforms simular to the ... these

.--~-'-_._._._---'-_._'--_._._-_.__._-_.__._-_._---'-----_._-,-_._._._._-_.__.__._._._._-_._,_._--_._.~~-+

O. P •.L.-·! VOLUME

CHAPTERSEC T rOi-JSUdS.

U SiR MAN U A L1: PRELIMINARY VERSION Iu: A~PE;'>I[)IX A1: ERROR NUMBER SUMMARY0:" CO r'H I r~ UED

PROPOSAL !--,----_._.__._-----~.-!DISTRIBUTION

1 FREE

+-_._._--_._._.~--_._--_._----_._~--'-----_._-_._,---- ._.__._---_._._._-------,-_._._--_._-------_._+

93:94:95:·96:97:98:99:

100 :101 :102 :103:lOll :105:10 h:107:

113 :

116 :

125:

129:

134:

1 31::1 :139:

1~3:144:145:

150 :

154:

i\ LL lJP EHAN D:5 0 F THE E XPk ES S I m~ MUS T dEC 0 NST MJT SNUMBER OF INDICES DOES NOT AGREE ~ITH DECLARATIONVARIAdLE SHOULD BE A SIGNAL OR A PERMANENT VARIA~LE

VARIA~LE ~UST dE uSER DECLARED

ASSIGN~ENT TO PERMANENT VARIABLE NOT ALLOwED HEREASSIGNMENT TO SIGNAL NOT ALLOWED HERE~ULTIPLE DEFINED PERMANENT VARIABLEIO~NTIFIER UECLARED TwICELOWER ~OUND EXCEEDS UPPE~ BOUNDIDENTIFIER IS NOT OF APPRUPRIATE CLASS10ENTIFIER NOT DECLAREDSIGN NOT ALLOWEO

INCOMPATIBLE SU8RANGE TYPES

INDEX TVPE MUST BE SCALAR OR SUBRANGE

ERROR IN TYPE OF STANDARD PROCEDURE PARAMETER

ERROR IN TYPE OF STANDARD FUNCTION PARAMETER

TYPE CONFLICT OF OPERANDS

ILLEGAL TYPE OF OPERANDCS)

TYPE OF VARIABLE IS NOT ARRAYINDEX TYPE IS ~OT COMPATIBLE WITH DECLARATION

ILLEGAL TYPE OF LUOP CONTROL VARIABLEILLEGAL TYPE OF EXPRESSIONTYPE CONFLICT

SUB RANGE BOUNDS MUST BE SCALAR

ASS r GI'J HEfH T() STAhi [) ARD FlJ j\j CTI O'~ I S NUT ALL 0 14 E[)

ACTuAL PARA,'>1ETER !'lUST BE A VARIA8LE

+------------~---------------------------~------------ -------------------+! SUP. DOC. NR.

OR I G! :>1 ALIS SUEPHILIPS RESEARCH LA80RATORY

F. I N D H 0 V E N! DATE lY81-02-2b! PAGE O. 1. 0- 1

+------------------------------------------------------------------------+