The Regina Rexx Interpreter

Total Page:16

File Type:pdf, Size:1020Kb

The Regina Rexx Interpreter The Regina Rexx Interpreter Version 3.4 Mark Hessling < [email protected] > Florian Gro ße-Coosmann < [email protected] > December 30, 2007 Original Author: Anders Christensen <[email protected]> Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2007 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1 Introduction to Regina.....................................................................................................................12 1.1 Purpose of this document.........................................................................................................12 1.2 Implementation.........................................................................................................................12 1.3 Ports of Regina.........................................................................................................................13 1.4 Executing Rexx programs with Regina....................................................................................14 1.4.1 Switches............................................................................................................................15 1.4.2 External Rexx programs...................................................................................................16 2 Rexx Language Constructs..............................................................................................................18 2.1 Definitions................................................................................................................................18 2.2 Null clauses..............................................................................................................................19 2.3 Commands...............................................................................................................................21 2.3.1 Assignments......................................................................................................................21 2.4 Instructions...............................................................................................................................23 2.4.1 The ADDRESS Instruction..............................................................................................25 2.4.2 The ARG Instruction........................................................................................................33 2.4.3 The CALL Instruction......................................................................................................33 2.4.4 The DO/END Instruction.................................................................................................37 2.4.5 The DROP Instruction......................................................................................................41 2.4.6 The EXIT Instruction.......................................................................................................43 2.4.7 The IF/THEN/ELSE Instruction......................................................................................44 2.4.8 The INTERPRET Instruction...........................................................................................45 2.4.9 The ITERATE Instruction................................................................................................47 2.4.10 The LEAVE Instruction..................................................................................................47 2.4.11 The NOP Instruction.......................................................................................................48 2.4.12 The NUMERIC Instruction............................................................................................48 2.4.13 The OPTIONS Instruction..............................................................................................50 2.4.14 The PARSE Instruction...................................................................................................51 2.4.15 The PROCEDURE Instruction.......................................................................................54 2.4.16 The PULL Instruction.....................................................................................................58 2.4.17 The PUSH Instruction.....................................................................................................58 2.4.18 The QUEUE Instruction.................................................................................................58 2.4.19 The RETURN Instruction...............................................................................................59 2.4.20 The SAY Instruction.......................................................................................................60 2.4.21 The SELECT/WHEN/OTHERWISE Instruction...........................................................61 2.4.22 The SIGNAL Instruction................................................................................................62 2.4.23 The TRACE Instruction.................................................................................................65 2.4.24 The UPPER Instruction..................................................................................................67 2.5 Operators..................................................................................................................................68 2.5.1 Arithmetic Operators........................................................................................................68 3 2.5.2 Assignment Operators......................................................................................................68 2.5.3 Comparative Operators....................................................................................................68 2.5.4 Concatenation Operators..................................................................................................69 2.5.5 Logical Operators.............................................................................................................69 2.6 Implementation-Specific Information......................................................................................70 2.6.1 Miscellaneous...................................................................................................................70 2.6.2 Implementation of the ADDRESS environment..............................................................71 2.6.2.1 SYSTEM aka ENVIRONMENT aka OS2ENVIRONMENT...................................71 2.6.2.2 COMMAND aka CMD aka PATH...........................................................................71 2.6.2.3 REXX or REGINA...................................................................................................72 2.6.2.4 ADRRESS WITH on Windows................................................................................72 2.6.3 Regina Restricted Mode...................................................................................................73 2.6.4 Native Language Support.................................................................................................74 2.6.4.1 Error Messages.........................................................................................................74 2.6.4.2 Locale Support..........................................................................................................74 2.6.4.3 Implementation.........................................................................................................75 3 REXX Built-in Functions................................................................................................................77 3.1 General Information.................................................................................................................77 3.1.1 The Syntax Format............................................................................................................77 3.1.2 Precision and Normalization.............................................................................................78 3.1.3 Standard Parameter Names...............................................................................................78 3.1.4 Error Messages.................................................................................................................79 3.1.5 Possible System Dependencies.........................................................................................80 3.1.6 Blanks vs. Spaces..............................................................................................................82 3.2 Regina Built-in Functions........................................................................................................83 ABBREV(long, short [,length]) - (ANSI)................................................................................83 ABS(number) - (ANSI)............................................................................................................83 ADDRESS([option]) - (ANSI).................................................................................................83 ARG([argno [,option]]) - (ANSI).............................................................................................84
Recommended publications
  • Light Programming Language
    UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO PEDRO SASSEN VEIGA Light Programming Language Work presented in partial fulfillment of the requirements for the degree of Bachelor in Computer Science Advisor: Prof. Dr. Rodrigo Machado Porto Alegre December 2018 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitor: Prof. Rui Vicente Oppermann Vice-Reitora: Profa. Jane Fraga Tutikian Pró-Reitor de Graduação: Prof. Wladimir Pinheiro do Nascimento Diretora do Instituto de Informática: Profa. Carla Maria Dal Sasso Freitas Coordenador do Curso de Ciência de Computação: Prof. Sérgio Luis Cechin Bibliotecária-chefe do Instituto de Informática: Beatriz Regina Bastos Haro ACKNOWLEDGMENTS We thank Jonathan Blow for the inspiration to create a complete language. ABSTRACT The increase of computing power in the last decades allowed for the creation and establishment of many high level programming languages such as Java and Python. In these languages, control over the hardware is often neglected in favor of more convenient abstractions for the programmer that offer some important guarantees (such as memory safety). At the same time, older lower level languages, such as C, are still considered one of the few viable options for systems programming. This work proposes a new low level programming language called Light that makes use of meta-programming ideas, commonly present in higher level, interpreted languages, in a compiled one. Light is a lower level, statically typed language that focuses on simplicity, consistent syntax and understandability. It has minimal runtime, no garbage collection and is composed of a simple core with a meta-programming layer built on top.
    [Show full text]
  • Regina Rexx Interpreter Version 3.3
    The Regina Rexx Interpreter Version 3.3 Anders Christensen <[email protected]> Norwegian Institute of Technology University of Trondheim April 25, 2004 Additions and corrections by Mark Hessling < [email protected] > Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2004 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1Introduction to Regina......................................................................................................................10 1.1Purpose of this document..........................................................................................................10 1.2Implementation.........................................................................................................................10 1.3Ports of Regina..........................................................................................................................11 1.4Executing Rexx programs with Regina....................................................................................11 1.4.1Switches............................................................................................................................12
    [Show full text]
  • OS X for Hackers at Heart 2005.Pdf
    343_OSX_FM.qxd 11/4/05 6:56 PM Page i Register for Free Membership to [email protected] Over the last few years, Syngress has published many best-selling and critically acclaimed books, including Tom Shinder’s Configuring ISA Server 2004, Brian Caswell and Jay Beale’s Snort 2.1 Intrusion Detection, and Angela Orebaugh and Gilbert Ramirez’s Ethereal Packet Sniffing. One of the reasons for the success of these books has been our unique [email protected] program. Through this site, we’ve been able to provide readers a real time extension to the printed book. As a registered owner of this book, you will qualify for free access to our members-only [email protected] program. Once you have registered, you will enjoy several benefits, including: ■ Four downloadable e-booklets on topics related to the book. Each booklet is approximately 20-30 pages in Adobe PDF format. They have been selected by our editors from other best-selling Syngress books as providing topic coverage that is directly related to the coverage in this book. ■ A comprehensive FAQ page that consolidates all of the key points of this book into an easy-to-search web page, pro- viding you with the concise, easy-to-access data you need to perform your job. ■ A “From the Author” Forum that allows the authors of this book to post timely updates and links to related sites, or additional topic coverage that may have been requested by readers. Just visit us at www.syngress.com/solutions and follow the simple registration process.
    [Show full text]
  • Computational Topology with Regina: Algorithms, Heuristics and Implementations
    COMPUTATIONAL TOPOLOGY WITH REGINA: ALGORITHMS, HEURISTICS AND IMPLEMENTATIONS BENJAMIN A. BURTON Dedicated to J. Hyam Rubinstein Author's self-archived version Available from http://www.maths.uq.edu.au/~bab/papers/ Abstract. Regina is a software package for studying 3-manifold triangula- tions and normal surfaces. It includes a graphical user interface and Python bindings, and also supports angle structures, census enumeration, combina- torial recognition of triangulations, and high-level functions such as 3-sphere recognition, unknot recognition and connected sum decomposition. This paper brings 3-manifold topologists up-to-date with Regina as it ap- pears today, and documents for the first time in the literature some of the key algorithms, heuristics and implementations that are central to Regina's perfor- mance. These include the all-important simplification heuristics, key choices of data structures and algorithms to alleviate bottlenecks in normal surface enumeration, modern implementations of 3-sphere recognition and connected sum decomposition, and more. We also give some historical background for the project, including the key role played by Rubinstein in its genesis 15 years ago, and discuss current directions for future development. 1. Introduction Algorithmic problems run to the heart of low-dimensional topology. Promi- nent amongst these are decision problems (e.g., recognising the unknot, or testing whether two triangulated manifolds are homeomorphic); decomposition problems (e.g., decomposing a triangulated manifold into a connected sum of prime mani- folds); and recognition problems (e.g., \naming" the manifold described by a given triangulation). For 3-manifolds in particular, such problems typically have highly complex and expensive solutions|running times are often exponential or super-exponential, and implementations are often major endeavours developed over many years (if they exist at all).
    [Show full text]
  • The UNIX- HATERS Handbook
    The UNIX- HATERS Handbook The UNIX- HATERS Handbook “Two of the most famous products of Berkeley are LSD and Unix. I don’t think that is a coincidence.” Edited by Simson Garfinkel, Daniel Weise, and Steven Strassmann ® PROGRAMMERS IDG Illustrations by John Klossner BOOKS PRESS iv IDG Books Worldwide, Inc. An International Data Group Company San Mateo, California • Indianapolis, Indiana • Boston, Massachusetts The UNIX-HATERS Handbook Published by IDG Books Worldwide, Inc. An International Data Group Company 155 Bovet Road, Suite 310 San Mateo, CA 94402 Copyright 1994 by IDG Books Worldwide. All rights reserved. No part of this book (including interior design, cover design, and illustrations) may be reproduced or transmitted in any form, by any means, (electronic, photocopying, recording, or otherwise) without the prior written permission of the publisher. ISBN 1-56884-203-1 Printed in the United States of America First Printing, May, 1994 10 9 8 7 6 5 4 3 2 1 Distributed in the United States by IDG Books Worldwide, Inc. Distributed in Canada by Macmillan of Canada, a Division of Canada Publishing Corporation; by Computer and Technical Books in Miami, Florida, for South America and the Caribbean; by Longman Singapore in Singapore, Malaysia, Thailand, and Korea; by Toppan Co. Ltd. in Japan; by Asia Computerworld in Hong Kong; by Woodslane Pty. Ltd. in Australia and New Zealand; and by Transword Publishers Ltd. in the U.K. and Europe. For information on where to purchase IDG’s books outside the U.S., contact Christina Turner at 415-312-0633. For information on translations, contact Marc Jeffrey Mikulich, Foreign Rights Manager, at IDG Books Worldwide; FAX number: 415-358-1260.
    [Show full text]
  • The Regina Rexx Interpreter
    The Regina Rexx Interpreter Version 3.9.3 Mark Hessling <[email protected]> Florian Große-Coosmann <[email protected]> 5 October, 2019 Original Author: Anders Christensen <[email protected]> Regina Home Page at: http://regina-rexx.sourceforge.net 1 Copyright © 1992-1998 Anders Christensen Copyright © 1998-2019 Mark Hessling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2 Table of Contents 1 Introduction to Regina..................................................................................................................11 1.1 Purpose of this document......................................................................................................11 1.2 Implementation.....................................................................................................................11 1.3 Ports of Regina......................................................................................................................12 1.4 Executing Rexx programs with Regina................................................................................12 1.4.1 Switches........................................................................................................................13 1.4.2 External
    [Show full text]
  • Computational Topology with Regina: Algorithms, Heuristics And
    COMPUTATIONAL TOPOLOGY WITH REGINA: ALGORITHMS, HEURISTICS AND IMPLEMENTATIONS BENJAMIN A. BURTON Dedicated to J. Hyam Rubinstein Abstract. Regina is a software package for studying 3-manifold triangula- tions and normal surfaces. It includes a graphical user interface and Python bindings, and also supports angle structures, census enumeration, combina- torial recognition of triangulations, and high-level functions such as 3-sphere recognition, unknot recognition and connected sum decomposition. This paper brings 3-manifold topologists up-to-date with Regina as it ap- pears today, and documents for the first time in the literature some of the key algorithms, heuristics and implementations that are central to Regina’s perfor- mance. These include the all-important simplification heuristics, key choices of data structures and algorithms to alleviate bottlenecks in normal surface enumeration, modern implementations of 3-sphere recognition and connected sum decomposition, and more. We also give some historical background for the project, including the key role played by Rubinstein in its genesis 15 years ago, and discuss current directions for future development. 1. Introduction Algorithmic problems run to the heart of low-dimensional topology. Promi- nent amongst these are decision problems (e.g., recognising the unknot, or testing whether two triangulated manifolds are homeomorphic); decomposition problems (e.g., decomposing a triangulated manifold into a connected sum of prime mani- folds); and recognition problems (e.g., “naming” the manifold described by a given triangulation). For 3-manifolds in particular, such problems typically have highly complex and expensive solutions—running times are often exponential or super-exponential, and implementations are often major endeavours developed over many years (if they arXiv:1208.2504v2 [math.GT] 22 Feb 2013 exist at all).
    [Show full text]
  • Introducing Regina, the 3-Manifold Topology Software
    Introducing Regina, the 3-manifold topology software Benjamin A. Burton Author’s self-archived version Available from http://www.maths.uq.edu.au/~bab/papers/ Abstract An overview is presented of Regina, a freely available software package for 3-manifold topologists. In addition to working with 3-manifold triangulations, Regina includes support for normal surfaces and angle structures. The features of the software are described in detail, followed by examples of research projects in which Regina has been used. 1 Introduction Experimental work in the study of 3-manifold topology has been a historically challenging task. Topological calculations for even simple 3-manifold triangulations are often remarkably difficult to perform by hand. Furthermore, triangulations and 3-manifolds are difficult to represent and manipulate using standard programming languages. Because of this, relatively little software has been available until recently to assist with these calculations. One prominent exception is SnapPea [Weeks 91], under development for over a decade, which provides excellent support for the study of hyperbolic 3-manifolds. More recently a number of other tools have become available, many of which are listed at the computational topology website http://www.computop.org/. Regina is a software package that unites a number of standard 3-manifold topology algo- rithms and procedures within a friendly user interface, as well as adding previously unavailable features to the current body of experimental tools. Under development since 1999, its growth has to a large extent been guided by its use in a variety of research projects, some of which are noted in Section 3. Algorithms that are implemented include triangulation simplification, normal surface enumeration, angle structure analysis and the calculation of algebraic and combinatorial invariants.
    [Show full text]
  • Python: a Critical Analysis of Programing Languages For
    Sci.Int.(Lahore),30(2),327-331, 2018 ISSN 1013-5316;CODEN: SINTE 8 327 PYTHON: A CRITICAL ANALYSIS OF PROGRAMING LANGUAGES FOR NOVICES 1 Rijja Hussain Bukhari, 2Aaliya Sarfaraz, 3Ahmed Khan 1Department of Bio Sciences, 2, 3 Department of Computer Sciences 1,2,3 COMSATS Institute of Information Technology (Main), Islamabad, Pakistan. [email protected], {2aaliya.sarfaraz, 3ahmed.khan }@comsats.edu.pk Corresponding Author Email: [email protected] ABSTRACT: The programming languages are developing science they were developed. The rapid changing trends in the use of new programming languages in industry is not maintained in academia where a beginner listen in programming is always from C and Java although students must learn advanced languages before entering industry, which bring us to concerned that it is one the major reasons that student are intimidated by coding. There are several researchers that have compare the programming language using different standards and requirement for better programming language but most of them have agreed that C and Java have complex syntax whereas Python has simpler syntax that make it easy and fast to learn. Keywords Python, programming languages, comparison for programming languages, Java and python, python standard libraries. INTRODUCTION C++, Java, Perl, Python, Tcl and Rexx. Perchelt starts his The programming languages have many definitions one of study by implementation of the same program in all the them describe the programming language as a collection of languages and then Perchelt analyzed different variables and data structure which have a follow of implementation by the different programmers. This removes execution [11]. C is one the early programming language the biased due the implementation by the single programmer that was developed by scientist C is a procedural and allow the comparison of variability of different program programming language that require low memory and less properties each langue produce.
    [Show full text]