Language Reference

Total Page:16

File Type:pdf, Size:1020Kb

Language Reference Enterprise PL/I for z/OS Version 5 Release 3 Language Reference IBM SC27-8940-02 Note Before using this information and the product it supports, be sure to read the general information under “Notices” on page 613. Third Edition (September 2019) This edition applies to Enterprise PL/I for z/OS Version 5 Release 3 (5655-PL5), and IBM Developer for z/OS PL/I for Windows (former Rational Developer for System z PL/I for Windows), Version 9.1, and to any subsequent releases of any of these products until otherwise indicated in new editions or technical newsletters. Make sure you are using the correct edition for the level of the product. Order publications through your IBM® representative or the IBM branch office serving your locality. Publications are not stocked at the address below. A form for readers' comments is provided at the back of this publication. If the form has been removed, address your comments to: IBM Corporation, Department H150/090 555 Bailey Ave. San Jose, CA, 95141-1099 United States of America When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Because IBM Enterprise PL/I for z/OS supports the continuous delivery (CD) model and publications are updated to document the features delivered under the CD model, it is a good idea to check for updates once every three months. © Copyright International Business Machines Corporation 1999, 2019. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Tables.............................................................................................................. xxiii Figures............................................................................................................ xxvii About this book.................................................................................................xxix Notation conventions used in this book..................................................................................................xxix Semantics................................................................................................................................................ xxxi Industry standards used.........................................................................................................................xxxii Summary of changes.............................................................................................................................. xxxii Enhancements in this release...........................................................................................................xxxii Enhancements from V5R2................................................................................................................ xxxv Enhancements from V5R1.............................................................................................................. xxxvii Enhancements from V4R5............................................................................................................. xxxviii Enhancements from V4R4............................................................................................................... xxxix Enhancements from V4R3............................................................................................................... xxxix Enhancements from V4R2.....................................................................................................................xl Enhancements from V4R1.....................................................................................................................xl Enhancements from V3R9.....................................................................................................................xl Enhancements from V3R8....................................................................................................................xli Enhancements from V3R7....................................................................................................................xli Enhancements from V3R6...................................................................................................................xlii Enhancements from V3R5...................................................................................................................xlii Enhancements from V3R4...................................................................................................................xlii Enhancements from V3R3..................................................................................................................xliii Enhancements from V3R2..................................................................................................................xliii Enhancements from V3R1..................................................................................................................xliii How to send your comments.................................................................................................................... xlv Accessibility.............................................................................................................................................. xlvi Chapter 1. Program elements................................................................................ 1 Single-byte character set.............................................................................................................................1 Decimal digits......................................................................................................................................... 3 Binary digits............................................................................................................................................ 3 Hexadecimal digits................................................................................................................................. 3 Special characters.................................................................................................................................. 3 Composite symbols................................................................................................................................ 4 Case sensitivity.......................................................................................................................................5 Statement elements for SBCS................................................................................................................5 Statements...................................................................................................................................................8 Simple statements............................................................................................................................... 10 Compound statements.........................................................................................................................10 Groups........................................................................................................................................................10 Double-byte character set.........................................................................................................................11 DBCS identifiers....................................................................................................................................11 Statement elements for DBCS............................................................................................................. 12 DBCS continuation rules...................................................................................................................... 13 Chapter 2. Data elements.................................................................................... 15 Data items.................................................................................................................................................. 15 iii Variables............................................................................................................................................... 15 Constants..............................................................................................................................................16 Using quotation marks......................................................................................................................... 16 Punctuating constants......................................................................................................................... 16 Data types and attributes.......................................................................................................................... 17 Data attributes......................................................................................................................................18 Nondata attributes............................................................................................................................... 18 Computational data types and attributes................................................................................................. 22 Coded arithmetic data and attributes..................................................................................................22 String data and attributes.................................................................................................................... 29 Date attribute......................................................................................................................................
Recommended publications
  • Alpha • Bravo • Charlie
    ALPHA • BRAVO • CHARLIE Inspired by Alpha, Bravo, Charlie (published by Phaidon) these Perfect activity sheets introduce young people to four different nautical codes. There are messages to decode, questions to answer for curious and some fun facts to share with friends and family. 5-7 year olds FLAG IT UP These bright, colorful flags are known as signal flags. There is one flag for each letter of the alphabet. 1. What is the right-hand side of a ship called? Use the flags to decode the answer! 3. Draw and color the flag that represents the first letter of your name. 2. Draw and color flags to spell out this message: SHIP AHOY SH I P AHOY FUN FACT Each flag also has its own To purchase your copy of meaning when it's flown by 2. Alpha, Bravo, Charlie visit phaidon.com/childrens2016 itself. For example, the N flag by STARBOARD 1. itself means "No" or "Negative". Answers: ALPHA OSCAR KILO The Phonetic alphabet matches every letter with a word so that letters can’t be mixed up and sailors don’t get the wrong message. 1. Write in the missing first letters from these words in the Phonetic alphabet. What word have you spelled out? Write it in here: HINT: The word for things that are transported by ship. 2. Can you decode the answer to this question: What types of cargo did Clipper ships carry in the 1800s? 3. Use the Phonetic alphabet to spell out your first name. FUN FACT The Phonetic alphabet’s full name is the GOLD AND WOOL International Radiotelephony Spelling Alphabet.
    [Show full text]
  • UNIT 2 Braille
    Mathematics Enhancement Programme Codes and UNIT 2 Braille Lesson Plan 1 Braille Ciphers Activity Notes T: Teacher P: Pupil Ex.B: Exercise Book 1 Introduction T: What code, designed more than 150 years ago, is still used Whole class interactive extensively today? discussion. T: The system of raised dots which enables blind people to read was Ps might also suggest Morse code designed in 1833 by a Frenchman, Louis Braille. or semaphore. Does anyone know how it works? Ps might have some ideas but are T: Braille uses a system of dots, either raised or not, arranged in unlikely to know that Braille uses 3 rows and 2 columns. a 32× configuration. on whiteboard Here are some possible codes: ape (WB). T puts these three Braille letters on WB. T: What do you notice? (They use different numbers of dots) T: We will find out how many possible patterns there are. 10 mins 2 Number of patterns T: How can we find out how many patterns there are? Response will vary according to (Find as many as possible) age and ability. T: OK – but let us be systematic in our search. What could we first find? (All patterns with one dot) T: Good; who would like to display these on the board? P(s) put possible solutions on the board; T stresses the logical search for these. Agreement. Praising. (or use OS 2.1) T: Working in your exercise books (with squared paper), now find all possible patterns with just 2 dots. T: How many have you found? Allow about 5 minutes for this before reviewing.
    [Show full text]
  • By Kumari Priyadarshani 22-04-2020 BBM 3Rd Year Variables in C a Variable Is a Name of the Memory Location. It Is Used to Store Data
    By Kumari priyadarshani 22-04-2020 BBM 3rd year Variables in C A variable is a name of the memory location. It is used to store data. Its value can be changed, and it can be reused many times. It is a way to represent memory location through symbol so that it can be easily identified. Let's see the syntax to declare a variable: type variable_list; The example of declaring the variable is given below: int a; float b; char c; Here, a, b, c are variables. The int, float, char are the data types. We can also provide values while declaring the variables as given below: int a=10,b=20;//declaring 2 variable of integer type float f=20.8; char c='A'; Rules for defining variables A variable can have alphabets, digits, and underscore. A variable name can start with the alphabet, and underscore only. It can't start with a digit. No whitespace is allowed within the variable name. A variable name must not be any reserved word or keyword, e.g. int, float, etc. Valid variable names: int a; int _ab; int a30; Invalid variable names: int 2; int a b; int long; Types of Variables in C There are many types of variables in c: local variable global variable static variable automatic variable external variable 1)Local Variable A variable that is declared inside the function or block is called a local variable. It must be declared at the start of the block. void function1(){ int x=10;//local variable } You must have to initialize the local variable before it is used.
    [Show full text]
  • An Empirical Study Into COBOL Type Inferencing*
    Science of Computer Programming ELSEVIERI Science of Computer Programming 40 (2001) 189-211 www.elsevier.nl/locate/scico An empirical study into COBOL type inferencing* Arie van Deursen 1, Leon Moonen 1 * CWL P. 0. Box 94079, 1090 GB Amsterdam, Netherlands Accepted 2 February 2001 Abstract In a typical COBOL program, the data division consists of 50% of the lines of code. Automatic type inference can help to understand the large collections of variable declarations contained therein, showing how variables are related based on their actual usage. The most problematic aspect of type inference is pollution, the phenomenon that types become too large, and contain variables that intuitively should not belong to the same type. The aim of the paper is to provide empirical evidence for the hypothesis that the use of subtyping is an effective way for dealing with pollution. The main results include a tool set to carry out type inference experiments, a suite of metrics characterizing type inference outcomes, and the experimental observation that only one instance of pollution occurs in the case study conducted. @ 2001 Elsevier Science B.V. All rights reserved. Keywords: Software maintenance; Static program analysis; Variable usage; Case study 1. Introduction In this paper, we will be concerned with the variables occurring in a COBOL pro­ gram. The two main parts of a COBOL program are the data division, containing declarations for all variables used, and the procedure division, which contains the state­ ments performing the program's functionality. Since it is in the procedure division that the actual computations are made, one would expect this division to be larger than the data division.
    [Show full text]
  • Multimedia Data and Its Encoding
    Lecture 14 Multimedia Data and Its Encoding M. Adnan Quaium Assistant Professor Department of Electrical and Electronic Engineering Ahsanullah University of Science and Technology Room – 4A07 Email – [email protected] URL- http://adnan.quaium.com/aust/cse4295 CSE 4295 : Multimedia Communication prepared by M. Adnan Quaium 1 Text Encoding The character by character encoding of an alphabet is called encryption. As a rule, this coding must be reversible – the reverse encoding known as decoding or decryption. Examples for a simple encryption are the international phonetic alphabet or Braille script CSE 4295 : Multimedia Communication prepared by M. Adnan Quaium 2 Text Encoding CSE 4295 : Multimedia Communication prepared by M. Adnan Quaium 3 Morse Code Samuel F. B. Morse and Alfred Vail used a form of binary encoding, i.e., all text characters were encoded in a series of two basic characters. The two basic characters – a dot and a dash – were short and long raised impressions marked on a running paper tape. Word borders are indicated by breaks. CSE 4295 : Multimedia Communication prepared by M. Adnan Quaium 4 Morse Code ● To achieve the most efficient encoding of the transmitted text messages, Morse and Vail implemented their observation that specific letters came up more frequently in the (English) language than others. ● The obvious conclusion was to select a shorter encoding for frequently used characters and a longer one for letters that are used seldom. CSE 4295 : Multimedia Communication prepared by M. Adnan Quaium 5 7 bit ASCII code CSE 4295 : Multimedia Communication prepared by M. Adnan Quaium 6 Unicode Standard ● The Unicode standard assigns a number (code point) and a name to each character, instead of the usual glyph.
    [Show full text]
  • Designing the Haptic Interface for Morse Code Michael Walker University of South Florida, [email protected]
    University of South Florida Scholar Commons Graduate Theses and Dissertations Graduate School 10-31-2016 Designing the Haptic Interface for Morse Code Michael Walker University of South Florida, [email protected] Follow this and additional works at: http://scholarcommons.usf.edu/etd Part of the Art Practice Commons, Communication Commons, and the Neurosciences Commons Scholar Commons Citation Walker, Michael, "Designing the Haptic Interface for Morse Code" (2016). Graduate Theses and Dissertations. http://scholarcommons.usf.edu/etd/6600 This Thesis is brought to you for free and open access by the Graduate School at Scholar Commons. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Scholar Commons. For more information, please contact [email protected]. Designing the Haptic Interface for Morse Code by Michael Walker A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Mechanical Engineering Department of Mechanical Engineering College of Engineering University of South Florida Major Professor: Kyle Reed, Ph.D. Stephanie Carey, Ph.D. Don Dekker, Ph.D. Date of Approval: October 24, 2016 Keywords: Bimanual, Rehabilitation, Pattern, Recognition, Perception Copyright © 2016, Michael Walker ACKNOWLEDGMENTS I would like to thank my thesis advisor, Dr. Kyle Reed, for providing guidance for my first steps in research work and exercising patience and understanding through my difficulties through the process of creating this thesis. I am thankful for my colleagues in REED lab, particularly Benjamin Rigsby and Tyagi Ramakrishnan, for providing helpful insight in the design of my experimental setup. TABLE OF CONTENTS LIST OF TABLES ........................................................................................................................
    [Show full text]
  • XL C/C++: Language Reference About This Document
    IBM XL C/C++ for Linux, V16.1.1 IBM Language Reference Version 16.1.1 SC27-8045-01 IBM XL C/C++ for Linux, V16.1.1 IBM Language Reference Version 16.1.1 SC27-8045-01 Note Before using this information and the product it supports, read the information in “Notices” on page 63. First edition This edition applies to IBM XL C/C++ for Linux, V16.1.1 (Program 5765-J13, 5725-C73) and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product. © Copyright IBM Corporation 1998, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document ......... v Chapter 4. IBM extension features ... 11 Who should read this document........ v IBM extension features for both C and C++.... 11 How to use this document.......... v General IBM extensions ......... 11 How this document is organized ....... v Extensions for GNU C compatibility ..... 15 Conventions .............. v Extensions for vector processing support ... 47 Related information ........... viii IBM extension features for C only ....... 56 Available help information ........ ix Extensions for GNU C compatibility ..... 56 Standards and specifications ........ x Extensions for vector processing support ... 58 Technical support ............ xi IBM extension features for C++ only ...... 59 How to send your comments ........ xi Extensions for C99 compatibility ...... 59 Extensions for C11 compatibility ...... 59 Chapter 1. Standards and specifications 1 Extensions for GNU C++ compatibility .... 60 Chapter 2. Language levels and Notices .............. 63 language extensions ......... 3 Trademarks .............
    [Show full text]
  • Researchers Take a Closer Look at the Meaning of Emojis. Like 30
    City or Zip Marlynn Wei M.D., J.D. Home Find a Therapist Topics Get Help Magazine Tests Experts Urban Survival Researchers take a closer look at the meaning of emojis. Like 30 Posted Oct 26, 2017 SHARE TWEET EMAIL MORE TO GO WITH AFP STORY BY TUPAC POINTU A picture shows emoji characters also known a… AFP | MIGUEL MEDINA A new database introduced in a recent research paper (https://www.ncbi.nlm.nih.gov/pubmed/28736776)connects online dictionaries of emojis with a semantic network to create the first machine-readable emoji inventory EmojiNet (http://emojinet.knoesis.org). (http://emojinet.knoesis.org) In April 2015, Instagram reported that 40 percent of all messages contained an emoji. New emojis are constantly being added. With the rapid expansion and surge of emoji use, how do we know what emojis mean when we send them? And how do we ensure that the person at the other end knows what we mean? It turns out that the meaning of emojis varies a whole lot based on context. Emojis, derived from Japanese “e” for picture and “moji” for character, were first introduced in the late 1990s but did not become Unicode standard until 2009. Emojis are pictures depicting faces, food, sports (https://www.psychologytoday.com/basics/sport-and- competition), animals, and more, such as unicorns, sunrises, or pizza. Apple introduced an emoji keyboard to iOS in 2011 and Android put them on mobile platforms in 2013. Emojis are different from emoticons, which can be constructed from your basic keyboard, like (-:. The digital use of emoticons has been traced back to as early as 1982, though there are earlier reported cases in Morse code telegraphs.
    [Show full text]
  • Fundamentals of Programming Session 12
    Fundamentals of Programming Session 12 Instructor: Maryam Asadi Email: [email protected] 1 Fall 2018 These slides have been created using Deitel’s slides Sharif University of Technology Outlines Random Number Generation … Storage Classes Scope Rules 2 Random Number Generation … The values produced directly by rand are always in the range: 0 rand() RAND_MAX As you know, the following statement simulates rolling a six- sided die: face = 1 + rand() % 6; This statement always assigns an integer value (at random) to the variable face in the range 1 face 6. The width of this range (i.e., the number of consecutive integers in the range) is 6 and the starting number in the range is 1. 3 Random Number Generation … Referring to the preceding statement, we see that the width of the range is determined by the number used to scale rand with the remainder operator (i.e., 6), and the starting number of the range is equal to the number (i.e., 1) that is added to rand % 6. We can generalize this result as follows n = a + rand() % b; where a is the shifting value (which is equal to the first number in the desired range of consecutive integers) and b is the scaling factor (which is equal to the width of the desired range of consecutive integers). 4 Random Number Generation … 5 Random Number Generation … 6 Random Number Generation … Notice that a different sequence of random numbers is obtained each time the program is run, provided that a different seed is supplied. To randomize without entering a seed each time, use a statement like srand( time( NULL ) ); This causes the computer to read its clock to obtain the value for the seed automatically.
    [Show full text]
  • Morse Code Worksheet
    MORSE CODE WORKSHEET Morse Code History: Morse Code is a type of character encoding that transmits telegraphic information using rhythm. Morse Code uses a standardized sequence of short and long elements to represent the letters, numerals, punctuation and special characters of a given message. The short and long elements can be formed by sounds, marks, or pulses, in on off keying and are commonly known as "dots" and "dashes" or "dits" and "dahs". The speed of Morse Code is measured in words per minute (WPM) or characters per minute, while fixed-length data forms of telecommunication transmission are usually measured in baud or bps. Originally created for Samuel F. B. Morse's electric telegraph in the early 1840s, Morse Code was also extensively used for early radio communication beginning in the 1890s. For the first half of the twentieth century, the majority of high-speed international communication was conducted in Morse Code, using telegraph lines, undersea cables, and radio Dùng Morse trong sinh hoạt Phong Trào circuits. However, the variable length of the Morse characters made it hard to adapt to automated circuits, so for most electronic communication it has been - Truyền tin là một trong các môn thích thú nhất trong replaced by machine readable formats, such as Baudot code and ASCII. sinh hoạt đoàn. - Trong sinh hoạt mật mã Morse được dùng liên lạc khi The most popular current use of Morse Code is by amateur radio operators, ở xa tầm tiếng nói, hay mắt nhìn; chẳng hạn khi tập although it is no longer a requirement for amateur licensing in many countries.
    [Show full text]
  • Morse Code Worksheets Morse Code Facts
    Morse Code Worksheets Morse Code Facts Morse code is used to send telegraphic information through two signal durations as dots and dashes that correspond to the alphabet, numbers, and punctuation. It transformed how people communicated with each other across long distances. HISTORY AND DEVELOPMENT ★ Samuel F. B. Morse, along with Leonard Gale and Alfred Vail, was able to develop a telegraph with a single circuit. Using this telegraph, the operator key is pushed down, sending an electrical signal to the receiver through a wire. ★ Around 1837, Morse and Vail developed a code that assigned a set of dots and dashes to the alphabet and numbers based on how often they are used in the English language. Samuel Morse, the inventor of Morse code KIDSKONNECT.COM Morse Code Facts ★ Simple codes were assigned to letters that are frequently used and those that are not used as often had more complex and extended codes. For example, the letter E, which is commonly used, is represented by while the letter Q is . ★ On May 24, 1844, Samuel Morse sent the first Morse telegraph from Washington, D.C., to Baltimore, Maryland. ★ In Samuel Morse's telegraph system, a paper tape is indented with a stylus whenever an electric current is received. Due to its mechanical components, the receiver makes a clicking sound whenever the stylus moves to mark the paper tape. A telegraph sounder (left) and key (right) The operators initially translated the message based on the indentations on the tape but soon they realized they could translate these clicks directly into dots (dits) and dashes (dahs) without the need to look at the paper tape.
    [Show full text]
  • PRU Optimizing C/C++ Compiler User's Guide
    PRU Optimizing C/C++ Compiler v2.3 User's Guide Literature Number: SPRUHV7C July 2014–Revised July 2018 Contents Preface ........................................................................................................................................ 8 1 Introduction to the Software Development Tools.................................................................... 11 1.1 Software Development Tools Overview ................................................................................. 12 1.2 Compiler Interface.......................................................................................................... 13 1.3 ANSI/ISO Standard ........................................................................................................ 14 1.4 Output Files ................................................................................................................. 14 1.5 Utilities ....................................................................................................................... 14 2 Using the C/C++ Compiler ................................................................................................... 15 2.1 About the Compiler......................................................................................................... 16 2.2 Invoking the C/C++ Compiler ............................................................................................. 16 2.3 Changing the Compiler's Behavior with Options ....................................................................... 17 2.3.1 Linker
    [Show full text]