Home

GNU Chill - RTEMS Documentation

image

Contents

1. GNU Chill William Cox Per Bothner Wilfried Moser Chapter 1 Compiler options 1 1 Compiler options Invoking the compiler The GNU CHILL compiler supports several new command line options and brings a new use to another lang chill This option instructs gcc that the following file is a CHILL source file even though its extension is not the default ch flocal loop counter The CHILL compiler makes a separate reach or scope for each DO FOR loop If flocal loop counter is specified the loop counter of value enumeration and location enumeration is automatically declared inside that reach This is the default behavior required by 2 200 fno local loop counter When this option is specified the above automatic declaration is not performed and the user must declare all loop counters explicitly fignore case When this option is specified the compiler ignores case All identifiers are converted to lower case This enables the usage of C runtime libraries fno ignore case Ignoring the case of identifiers is turned off fruntime checking The CHILL compiler normally generates code to check the validity of expres sions assigned to variables or expressions passed as parameters to procedures and processes if those expressions cannot be checked at compile time This is the default behavior required by Z 200 This option allows you to re enable the default behavior after disabling it with the fno runtime check
2. lt discrete literal expression gt lt literal range gt lt discrete mode name gt ELSE Chapter 7 Compiler Directives 18 7 Compiler Directives e ALL_STATIC_ON ALL_STATIC_OFF These directives control where procedure local variables are allocated ALL_STATIC_ON turns allocation of procedure local variables in the data space ON regardless of the keyword STATIC being used or not ALL_STATIC_OFF places procedure local variables in the stack space The default is ALL_STATIC_OFF e RANGE_ON RANGE_OFF Turns generation of rangecheck code ON and OFF e USE_SEIZE_FILE lt character string literal gt Specify the filename as a character string literal where subsequent SEIZE statements are related to This directive and the subsequent SEIZEs are written to a possibly generated grant file for this module lt gt USE_SEIZE_FILE foo grt lt gt SEIZE bar e USE_SEIZE_FILE_RESTRICTED filename Same as USE_SEIZE_FILE The difference is that this directive and subsequent SEIZEs are not written to a possibly generated grant file e PROCESS_TYPE lt integer expression gt Set start value for all PROCESS delclarations This value automatically gets in cremented after each PROCESS declaration and may be changed with a new PRO CESS_TYPE compiler directive e SIGNAL_CODE lt integer expression gt Set start value for all SIGNAL definitions This value automatically gets incremented after each SIGNAL definition and may be changed with
3. if the argument is a buffer location or the number of delayed processes if the argument specifies an event location as integer expression GEN_INST delivers an instance expression constructed from the arguments Both arguments must have the amp 8INT derived class COPY_NUMBER delivers as amp INT derived class the copy number of an instance loca tion GEN_PTYPE delivers as amp INT derived class the associated number of the process name PROC_TYPE delivers as amp INT derived class the process type of an instance expression GEN_CODE delivers as amp INT derived class the associated number of the process name or signal name DESCR delivers a free reference expression pointing to a structure with the following layout describing the location argument SYNMODE __tmp_descr STRUCT p PTR 1 ULONG Chapter 6 Differences to Z 200 1988 15 e 7 4 2 Associating an outside world object The syntax of the associate built in routine call is defined as lt associate built in routine call gt ASSOCIATE lt association location gt lt string expression gt lt string ex pression gt The ASSOCIATE call has two parameters besides the association location a pathname and an optional mode string The value of the first string expression must be a pathname according to the rules of the underlying operating system Note that a relative pathname implies a name relative to the working directory of the process The mode string may conta
4. lt digit sequence gt lt exponent gt j lt signed floating point literal gt lt unsigned floating point literal gt lt digit sequence gt lt digit gt lt digit gt _ lt exponent gt EI e d lt digit sequence gt E D el d lt digit sequence gt e 5 2 14 Start Expression The START expression is not implemented Chapter 6 Differences to Z 200 1988 12 5 3 Values and Expressions The undefined value denoted by is not implemented 5 3 8 Operand 5 The lt string repetition operator gt is defined as lt string repetition operator gt lt integer expression gt 6 4 Case Action There may be only one case selector specified The optional range list must not be specified 6 5 Do Action A Do Action without control part is not implemented Grouping of statements can be achieved via BEGIN and END A location enumeration is not allowed for BIT strings only for varying CHAR strings and ARRAYs The expression list in a DO WITH must consist of locations only 6 13 Start Action The syntax of the START action is changed to lt start action gt START lt process name gt lt copy number gt lt actual parameter list gt SET lt instance location gt j lt copy number gt lt integer expression 6 16 Delay Action The optional PRIORITY specification need not be a constant 6 17 Delay Case Action The optional SET branch and the also optional PRIORITY branch
5. An indexed text file is therefore not compatible with the standard text representation of the underlying operating system e 7 5 3 Text transfer operations The syntax of lt text argument gt is changed to lt text argument gt lt text location gt lt predefined text location gt lt varying string location gt lt predefined text location gt STDIN STDOUT STDERR NOTE The identifiers STDIN STDOUT and STDERR are predefined Association and connection with files or devices is done according to operating system rules The effect of using READTEXT or WRITETEXT with a character string location as a text argument i e the first parameter where the same location also appears in the i o list is undefined The current implementation of formatting assumes run to completion semantics of CHILL tasks within an image e 7 5 5 Conversion Due to the implementation of lt floating point modes gt the syntax is changed to lt conversion clause gt lt conversion code gt lt conversion qualifier lt clause width gt lt conversion code gt BIOIH C F lt conversion qualifier gt L E P lt character gt lt clause width gt lt digit gt V lt real clause width gt lt real clause width gt Chapter 6 Differences to Z 200 1988 17 lt digit gt V lt digit gt V Note The lt real clause width gt is only valid for lt conversion code gt C
6. e 3 4 Discrete Modes The list of discrete modes is enhanced by the following modes BYTE 8 bit signed integer UBYTE 8 bit unsigned integer UINT 16 bit unsigned integer LONG 32 bit signed integer ULONG 32 bit unsigned integer Please note that INT is implemented as 16 bit signed integer e 3 4 6 Range Modes The mode BIN n is not implemented Using INT 0 2 n 1 instead of BIN n makes this mode unneccessary e 3 X Real Modes Note This is an extension to Z 200 1988 however it is defined in Z 200 1992 syntax lt real mode gt lt floating point mode gt semantics Chapter 6 Differences to Z 200 1988 8 A real mode specifies a set of numerical values which approximate a contiguous range of real numbers e 3 X 1 Floating point modes syntax lt floating point mode gt lt floating point mode name predefined names The names REAL and LONG_REAL are predefined as floating point mode names semantics A floating point mode defines a set of numeric approximations to a range of real val ues together with their minimum relative accuracy between implementation defined bounds over which the usual ordering and arithmetic operations are defined This set contains only the values which can be represented by the implementation examples REAL LONG_REAL e 3 6 Reference Modes Row modes are not implemeted at all e 3 7 Procedure Mode The syntax for procedure modes is changed to lt procedure mode gt PROC p
7. floating point expression gt LN lt floating point expression gt LOG lt floating point expression gt SQRT lt floating point expression gt QUEUE_LENGTH lt buffer location gt lt event location gt GEN_INST lt integer expression gt lt process name gt lt integer expression gt COPY_NUMBER lt instance expression gt GEN_PTYE lt process name gt PROC_TYPE lt instance expression gt GEN_CODE lt process name gt lt signal name gt DESCR lt location gt lt pred succ argument gt lt discrete expression gt lt bound reference expression gt lt numeric expression gt lt integer expression gt floating point expression gt lt length argument gt lt string location gt lt string expression gt lt string mode name gt lt event location gt lt event mode name gt lt buffer location gt lt buffer mode name gt lt text location gt lt text mode name gt semantics ADDR is derived syntax for gt lt location gt PRED and SUCC delivers respectively in case of a discrete expression the next lower or higher discrete value of their argument in case of bound reference expression these built in calls deliver a pointer to the previous or next element Chapter 6 Differences to Z 200 1988 14 ABS is defined on numeric values i e integer values and floating point values deliv ering the corresponding absolute value LENGTH is defined on e string and text
8. gt lt set literal gt lt emptiness literal gt lt character string literal gt lt bit string literal gt lt floating point literal gt Chapter 6 Differences to Z 200 1988 11 Note The lt floating point literal gt is an extension to Z 200 1988 and will be described later on e 5 2 4 2 Integer literals The lt decimal integer literal gt is changed to lt decimal integer literal gt D d lt digi gt _ lt digit gt lt digit gt _ e 5 2 4 4 Character literals A character literal e g M may serve as a charater string literal of length 1 e 5 2 4 7 Character string literals The syntax of a character string literal is lt character string literal gt lt non reserved character gt lt single quote gt lt control sequence gt 4 lt non reserved character gt lt double quote gt lt control sequence gt lt single quote gt lt double quote gt A character string litaral of length 1 enclosed in apostrophes e g M may also serve as a charater literal e 5 2 4 9 Floating point literal Note This is an extension to Z 200 1988 ans was taken from Z 200 1992 syntax lt floating point literal gt lt unsigned floating point literal gt lt signed floating point literal gt lt unsigned floating point literal gt lt digit sequence gt lt digit sequence gt lt exponent gt j lt digit sequence gt
9. locations and string expressions delivering the length of them e event locations delivering the event length of the mode of the location e buffer locations delivering the buffer length of the mode of the location e string mode names delivering the string length of the mode e text mode names delivering the text length of the mode e buffer mode names delivering the buffer length of the mode e event mode names delivering the event length of the mode e Additionally LENGTH also may be used on the left hand side of an assignment to set a new length of a varying character string location However to avoid undefined elements in the varying string the new length may only be less or equal to the current length Otherwise a RANGEFAIL exception will be generated SIN delivers the sine of its argument interpreted in radians COS delivers the cosine of its argument interpreted in radians TAN delivers the tangent of its argument interpreted in radians ARCSIN delivers the sin 1 function of its argument ARCCOS delivers the cos 1 function of its argument ARCTAN delivers the tan 1 function of its argument EXP delivers the exponential function where x is the argument LN delivers the natural logarithm of its argument LOG delivers the base 10 logarithm of its argument SQRT delivers the sqare root of its argument QUEUE_LENGTH delivers either the number of sending delayed processes plus the number of messages in a buffer queue
10. must be seperated by 6 18 Send Action The send action must define a destination instance via the TO branch since undi rected signals are not supported The optional PRIORITY specification need not be a constant Additional to the data transported by the signal there will be a user defined argument The syntax of the lt send signal action gt is therefore lt send signal action gt SEND lt signal name gt lt value gt lt value gt j WITH lt ezpression gt j TO lt instance primitive value gt lt priority gt The default priority can be specified by the compiler directive SEND SIGNAL DEFAULT PRIORITY If this also is omitted the default priority is 0 6 20 3 CHILL value built in calls The CHILL value buit in calls are enhanced by some calls and other calls will have different arguments as described in Z 200 1988 Any call not mentioned here is the same as described in Z 200 1988 syntax Chapter 6 Differences to Z 200 1988 13 CHILL value built in routine call gt ADDR slocation gt PRED lt pred succ argument gt SUCC lt pred succ argument gt ABS lt numeric expression gt LENGTH lt length argument gt SIN lt floating point expression gt COS lt floating point expression gt TAN lt floating point expression gt ARCSIN lt floating point expression gt ARCCOS lt floating point expression gt ARCTAN lt floating point expression gt EXP lt
11. or F e 7 5 7 I O control To achieve compatibility of text files written with CHILL i o with the standard rep resentation of text on the underlying operating system the interpretation of the i o control clause of the format deviates from Z 200 The following table shows the i o codes together with the control characters written before and after the text record to achieve the indicated function Write next record record line feed Write record on next page form feed record line feed Write record on current line record carriage return ue Write record as a prompt carriage return record Emit record record Force new page for the next line The control character written before the next record will be form feed irrespective of the i o control used for transferring the record When reading a text file containing control characters other than line feed these char acters have to be reckoned with by the format used to read the text records e 11 2 2 Regionality Regionality is not implemented at all so there is no difference in the generated code when REGION is substituted by MODULE in a GNUCHILL compilation unit e 11 5 Signal definition statement The lt signal definition statement gt may only occur at module level e 12 3 Case Selection The syntax of lt case label specification gt is changed to lt case label specification gt lt case label gt lt case label gt lt case label gt
12. ISECS UPPER ULONG SECS 4294967 MINUTES 71582 HOURS 1193 and DAYS 49 e 3 11 2 Absolute Time Modes The predefined mode TIME is implemented as a NEWMODE ULONG and holds the absolute time in seconds since Jan 1st 1970 This is equivalent to the mode timet defined on different systems e 3 12 4 Structure Modes Variant fields are allowed but the CASE construct may define only one tag field one dimensional CASE OF course several variant fields may be specified in one STRUCT mode The tag field will both at compile and runtime not be interpreted in any way however it must be interpreted by a debugger As a consequence there are no parameterized STRUCT modes e 3 12 5 Layout description for array and structure modes STEP and POS is not implemeted at all therefore the syntax of lt element layout and field layout is changed to lt element layout gt PACK NOPACK lt field layout gt PACK NOPACK Chapter 6 Differences to Z 200 1988 10 e 3 13 4 Dynamic parameterised structure modes Dynamic parameterised structure modes are not implemented e 4 1 2 Location declaration The keyword STATIC is allowed but has no effect at module level because all locations declared there are assumed to be static by default Each granted location will become public A static declaration inside a block procedure etc places the variable in the data section instead of the stack section e 4 1 4 B
13. LENGTH built in may be used on the left hand side of an assignment where its argument is a VARYING character string Chapter 4 Value and location conversions 5 4 Value and location conversions Value and location conversions are highly dependent on the target machine They are also very loosely specified in the 1988 standard The 1992 standard seems an improvement The GNU Chill compiler interprets mode exp as follows e If exp is a referable location and the size of the mode of exp is the same as the size of mode a location conversion is used It is implemented exactly as refmode gt exp gt where refmode is a synmode for REF mode The programmer is responsible for making sure that alignment restrictions on machine addresses are not violated If both mode and the mode of exp are discrete modes alignment should not be a problem and we get the same conversion as a standard value conversion e If exp is a constant and the size of the mode of exp is the same as the size of mode then a value conversion is performed This conversion is done at compile time and it has not been implemented for all types Specifically converting to or from a floating point type is not implemented e If both mode and the mode of exp are discrete modes then a value conversion is performed as described in Z 200 e If both mode and the mode of exp are reference modes then a value conversion is allowed The same is true is one mode is
14. a new SIGNAL_CODE compiler directive e SEND SIGNAL DEFAULT PRIORITY lt integer expression gt Set default priority for send signal action e SEND BUFFER DEFAULT PRIORITY lt integer expression gt Set default priority for send buffer action Note Every lt integer expression gt in the above mentioned compiler directives may also be specified by a SYNONYM of an integer type SYN first_signal_code 10 lt gt SIGNAL_CODE first_signal_code lt gt SIGNAL s1 Chapter 8 Language Definition References 19 8 Language Definition References e CCITT High Level Language CHILL Recommendation Z 200 ISO IEC 9496 Geneva 1989 ISBN 92 61 03801 8 e An Analytic Description of CHILL the CCITT high level language Branquart Louis amp Wodon Springer Verlag 1981 ISBN 3 540 11196 4 e CHILL User s Manual CCITT Geneva 1986 ISBN 92 61 02601 X e Introduction to CHILL CCITT Geneva 1983 ISBN 92 61 017771 1 e CHILL CCITT High Level Language Proceedings of the 5th CHILL Conference North Holland 1991 ISBN 0 444 88904 3 e Introduction to the CHILL programming Language TELEBRAS Campinas Brazil 1990 Z 200 is mostly a language lawyer s document but more readable than most The User s Guide is more readable by far but doesn t cover the whole language Our copies of these documents came through Global Engineering Documents in Irvine CA USA 714 261 1455 Table of Contents 1 Compiler options 2 Implemented an
15. a reference mode and the other is an integral mode of the same size Chapter 5 Separate compilation 6 5 Separate compilation The GNU CHILL compiler supports modular programming It allows the user to control the visibility of variables and modes outside of a MODULE by the use of GRANT and SEIZE directives Any location or mode may be made visible to another MODULE by GRANTing it in the MODULE where it is defined and SEIZEing it in another MODULE which needs to refer to it When variables are GRANTed in one or more modules of a CHILL source file the compiler outputs a grant file with the original source file name as the base name and the extension grt All of the variables and modes defined in the source file are written to the grant file together with any use_seize file directives and the GRANT directives A grant file is created for every such source file except if an identical grant file already exists This prevents unnecessary makefile activity The referencing source file must 1 specify the grant file in a use_seize_file directive and 2 SEIZE each variable or mode definition that it needs An attempt to SEIZE a variable or mode which is not GRANTed in some seize file is an error An attempt to refer to a variable which is defined in some seize file but not explicitly granted is an error An attempt to GRANT a variable or mode which is not defined in the current MODULE is an error Note that the GNU CHILL co
16. arameter list gt lt result spec gt j EXCEPTIONS lt exception list gt RECURSIVE lt procedure mode name gt lt parameter list gt lt parameter spec gt lt parameter spec gt lt parameter spec gt lt mode gt lt parameter attribute gt lt parameter attribute gt IN OUT INOUT LOC lt result spec gt RETURNS lt mode gt LOC lt exception list gt lt exception name gt lt exception name gt e 3 10 Input Output Modes Due to the absence of row modes DYNAMIC has no meaning in an access or text mode definition e 3 12 2 String Modes As lt string modes gt were defined differently in Z 200 1984 the syntax of lt string mode gt is changed to Chapter 6 Differences to Z 200 1988 9 lt string mode gt lt string type gt lt string length gt VARYING lt parametrized string mode gt lt string mode name gt lt parameterized string mode gt lt origin string mode name gt lt string length gt lt parameterized string mode name gt lt origin string mode name gt lt string mode name gt string type BOOLS BIT CHARS CHAR lt string length gt lt integer literal expression gt VARYING is not implemented for lt string type gt BIT and BOOL e 3 11 1 Duration Modes The predefined mode DURATION is implemented as a NEWMODE ULONG and holds the duration value in miliseconds This gives a maximum duration of MILL
17. ased decleration The based declaration was taken from Z 200 1984 and has the following syntax syntax lt based declaration gt lt defining occerrence list gt lt mode gt BASED lt free reference location name gt semantics A based declaration with lt free reference location name gt specifies as many access names as are defining occerrences in the defining occurrence list Names declared in a base declaration serve as an alternative way accessing a location by dereferencing a reference value This reference value is contained in the location specified by the free reference location name This dereferencing operation is made each time and only when an access is made via a declared based name static properties A defining occurrence in a based declaration with free reference location name defines a based name The mode attached to a based name is the mode specified in the based declaration A based name is referable e 4 2 2 Access names The syntax of access names is changed to lt access name gt lt location name gt lt loc identity name gt lt based name gt lt location enumeration name gt lt location do with name gt The semantics static properties and dynamic conditions remain unchanged except that they are enhanced by base name e 5 2 4 1 Literals General The syntax of lt literal gt is change to lt literal gt lt integer literal gt lt boolean literal gt lt charater literal
18. criptor argument gt returns a pointer to STRUCT addr PTR length ULONG where lt descriptor argument gt can be anything the compiler can handle but at least a location of any mode except syn chronizing modes and any character string or powerset value A temporary location within the current stack frame may be allocated if an expression is used CHILL does not permit the writing of procedures with parameters of any type Yet some interfaces in particular those to system calls require the handling of a wide range of modes e g any string mode any structure mode or any powerset mode This could be handled by specifying two parameters PTR INT for the length but this is error prone no guarantee the same location is used after in ADDR and LENGTH and it will not be possible for expressions Caveats This feature permits the programmer to obtain the address of a literal if the compiler takes this shortcut see 1st example below If hardware features protect constant parts of the program erronous abuse will be detected Examples OFFER HANDLER descr dbs gt dbs SYNMODE m els SET ela elb elc SYNMODE m_elsel POWERSET m_els DCL user_buf STRUCT a mx b my c mz DCL select POWERSET m_elsel select m_elsellLOWER m_els UPPER m_els GET_RECORD relation recno descr user_buf descr select PUT_RECORD relation recno descr user_buf b descr m_elsel elb e LENGTH built in on left hand side The
19. d missing parts of the Chill language cook ce ense sand ceeds 3 GNU specific enhancements to the Chill IANCUACC 2 4 A Value and location conversions 5 Separate compilation 6 Differences to Z 200 1988 7 Compiler Directives 8 Language Definition References
20. in the value VARIABLE which requests an external representation of records consisting of an UINT record length followed by as many bytes of data as indicated by the length field Such a file with variable records is not indexable A file with variable records can be written using any record mode If the record mode is CHARS n VARYING the record length is equal to the actual length of the value written Different record may have differing lengths With all other record modes all records written using the same access mode will have the same length but will still be prefixed with the length field Note that by re connecting with different access modes the external representation may ultimately contain records with differing lengths A file with variable records can only be read by using a record mode of CHARS n VARYING e 7 4 2 Accessing association attributes The value of the READABLE and WRITEABLE attributes is determined using the file status call provided by the operating system The result will depend on the device being accessed or on the file mode The INDEXABLE attribute has the value false for files with variable records and for files associated with devices not supporting random positioning character devices FIFO special files etc The variable attribute is true for files associated with the mode sting VARIABLE and false otherwise e 7 4 5 Modifying association attributes The syntax of the MODIFY built in routine call i
21. ing option fno runtime checking The CHILL compiler normally generates code to check the validity of expres sions assigned to variables or expressions passed as parameters to procedures and processes This option allows you to disable that code generation This might be done to reduce the size of a program s generated code or to increase its speed of execution Compile time range checking is still performed fgrant only fchill grant only This option causes the compiler to stop successfully after creating the grant file specified by the source file see modular programming in CHILL No code is generated and many categories of errors are not reported fold string Implement the semantics of Chill 1984 with respect to strings String indexing yields a slice of length one CHAR is similar to CHAR 1 or CHARS 1 and BOOL is similar to BIT 1 or BOOLS 1 Chapter 1 Compiler options 2 fno old string Don t implement 1984 Chill string semantics This is the default Iseize_path This directive adds the specified seize path to the compiler s list of paths to search for seize files When processing a USE_SEIZE_FILE directive the com piler normally searches for the specified seize file only in the current directory When one or more seize paths are specified the compiler also searches in those directories in the order of their specification on the command line for the seize file This C related switch which normally
22. mpiler will not write out a grant file if e there are no GRANT directives in the source file or e the entire grant file already exists and is identical to the file which the compiler has just built This latter feature may be removed at some point Otherwise a grant file is an automatic unsuppressable result of a successful CHILL compilation A future release will also support using remote spec modules in a similar but more Blue Book conforming manner Chapter 6 Differences to Z 200 1988 T 6 Differences to Z 200 1988 This chapter lists the differences and extensions between GNUCHILL and the CCITT recommendation Z 200 in its 1988 version reffered to as Z 200 1988 e 2 2 Vocabulary The definition of lt simple name string gt is changed to lt simple name string gt lt letter gt _ lt letter gt lt digit _ e 2 6 Compiler Directives Only one directive is allowed between the compiler directive delimiters lt gt and lt gt or the end of line i e lt gt USE_SEIZE_FILE foo grt lt gt lt gt ALL_STATIC_OFF e 3 3 Modes and Classes The syntax of lt mode gt is changed to lt mode gt READ lt non composite mode gt READ composite mode gt lt non composite mode gt lt discrete mode gt lt real modes gt lt powerset modes gt lt reference mode gt lt procedure mode gt lt instance mode gt lt synchronization mode gt lt timing mode gt
23. prevents gcc from attempting to link is not yet implemented by the chill command but you can use the gcc command with this flag Chapter 2 Implemented and missing parts of the Chill language 3 2 Implemented and missing parts of the Chill language The numbers in parentheses are Z 200 1988 section numbers e The FORBID keyword ina GRANT statement is currently ignored e A CASE action or expression allows only a single expression in a case selector list 5 3 2 6 4 e ROW modes are not implemented 3 6 3 3 13 4 e Due to the absence of ROW modes DYNAMIC has no meaning in connection with access and text modes e Array and structure layout PACK POS NOPACK STEP keywords is ignored 3 12 6 e Bit string slices are not implemented e The support for synchronization modes and concurrent execution is slightly non standard e Exception handling is implemented but exceptions are not generated in all of the required situations e Dynamic modes are not implemented though string slices should work e Reach bound initializations are not implemented 4 1 2 Chapter 3 GNU specific enhancements to the Chill language 4 3 GNU specific enhancements to the Chill language e Grantfiles See See Chapter 5 Separate compilation page 6 e Precisions Multiple integer and real precisions are supported as well as signed and unsigned variants of the integer modes e DESCR built in The new built in function DESCR lt des
24. s defined as lt modify built in call gt MODIFY lt association location gt lt string expression gt At present MODIFY accepts a character string containing a pathname in addition to the association location which will cause a renaming of the associated file e 7 4 9 Data transfer operations READRECORD will fail causing READFAIL if the number of bytes from the current position in the file to the end of the file is greater than zero but less than the size of the record mode and no data will be transferred If the number of bytes is zero no error occurs and OUTOFFILE will return TRUE The number of bytes transferred by READRECORD and WRITERECORD is equal to the size of the record mode of the access location Note that the internal representation of this mode may vary depending on the record mode being packed or not Chapter 6 Differences to Z 200 1988 16 e 7 5 Text Input Output Sequential text files will be represented so as to be compatible with the standard representation of texts on the underlying operating system where control characters are used to delimit text records on files as well as to control the movement of a cursor or printing head on a device For indexed text files records of a uniform length i e the size of the text record including the length field are written All i o codes cause an i o transfer without any carriage control characters being added to the record which will be expanded with spaces

Download Pdf Manuals

image

Related Search

Related Contents

Catalogue  Soleus Air GH-PAC-10E5 User's Manual  Contrat de licence  HSB78G14-64B シリーズ 取扱説明書  LUXTRON 710, 712, 790 Users    APC Back-UPS 500  Beyerdynamic DTX 21 iE  © User Manual  C-45 REMOPÍN  

Copyright © All rights reserved.
Failed to retrieve file