GNU M4, Version 1.4.19 a Powerful Macro Processor Edition 1.4.19, 28 May 2021

Total Page:16

File Type:pdf, Size:1020Kb

GNU M4, Version 1.4.19 a Powerful Macro Processor Edition 1.4.19, 28 May 2021 GNU M4, version 1.4.19 A powerful macro processor Edition 1.4.19, 28 May 2021 by Ren´eSeindal, Fran¸coisPinard, Gary V. Vaughan, and Eric Blake ([email protected]) This manual (28 May 2021) is for GNU M4 (version 1.4.19), a package containing an implementation of the m4 macro language. Copyright c 1989{1994, 2004{2014, 2016{2017, 2020{2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License." i Table of Contents 1 Introduction and preliminaries ::::::::::::::::: 3 1.1 Introduction to m4 :::::::::::::::::::::::::::::::::::::::::::::: 3 1.2 Historical references :::::::::::::::::::::::::::::::::::::::::::: 3 1.3 Problems and bugs ::::::::::::::::::::::::::::::::::::::::::::: 4 1.4 Using this manual :::::::::::::::::::::::::::::::::::::::::::::: 5 2 Invoking m4::::::::::::::::::::::::::::::::::::::: 7 2.1 Command line options for operation modes ::::::::::::::::::::: 7 2.2 Command line options for preprocessor features ::::::::::::::::: 8 2.3 Command line options for limits control ::::::::::::::::::::::: 10 2.4 Command line options for frozen state ::::::::::::::::::::::::: 11 2.5 Command line options for debugging :::::::::::::::::::::::::: 11 2.6 Specifying input files on the command line ::::::::::::::::::::: 12 3 Lexical and syntactic conventions::::::::::::: 15 3.1 Macro names :::::::::::::::::::::::::::::::::::::::::::::::::: 15 3.2 Quoting input to m4 ::::::::::::::::::::::::::::::::::::::::::: 15 3.3 Comments in m4 input ::::::::::::::::::::::::::::::::::::::::: 15 3.4 Other kinds of input tokens:::::::::::::::::::::::::::::::::::: 16 3.5 How m4 copies input to output::::::::::::::::::::::::::::::::: 16 4 How to invoke macros ::::::::::::::::::::::::: 19 4.1 Macro invocation :::::::::::::::::::::::::::::::::::::::::::::: 19 4.2 Preventing macro invocation ::::::::::::::::::::::::::::::::::: 19 4.3 Macro arguments :::::::::::::::::::::::::::::::::::::::::::::: 21 4.4 On Quoting Arguments to macros ::::::::::::::::::::::::::::: 23 4.5 Macro expansion :::::::::::::::::::::::::::::::::::::::::::::: 23 5 How to define new macros :::::::::::::::::::: 25 5.1 Defining a macro :::::::::::::::::::::::::::::::::::::::::::::: 25 5.2 Arguments to macros :::::::::::::::::::::::::::::::::::::::::: 26 5.3 Special arguments to macros::::::::::::::::::::::::::::::::::: 27 5.4 Deleting a macro :::::::::::::::::::::::::::::::::::::::::::::: 30 5.5 Renaming macros ::::::::::::::::::::::::::::::::::::::::::::: 31 5.6 Temporarily redefining macros ::::::::::::::::::::::::::::::::: 33 5.7 Indirect call of macros ::::::::::::::::::::::::::::::::::::::::: 34 5.8 Indirect call of builtins :::::::::::::::::::::::::::::::::::::::: 35 6 Conditionals, loops, and recursion :::::::::::: 39 6.1 Testing if a macro is defined ::::::::::::::::::::::::::::::::::: 39 6.2 If-else construct, or multibranch ::::::::::::::::::::::::::::::: 39 ii GNU M4 1.4.19 macro processor 6.3 Recursion in m4:::::::::::::::::::::::::::::::::::::::::::::::: 41 6.4 Iteration by counting :::::::::::::::::::::::::::::::::::::::::: 46 6.5 Iteration by list contents::::::::::::::::::::::::::::::::::::::: 47 6.6 Working with definition stacks ::::::::::::::::::::::::::::::::: 49 6.7 Building macros with macros :::::::::::::::::::::::::::::::::: 51 7 How to debug macros and input :::::::::::::: 55 7.1 Displaying macro definitions ::::::::::::::::::::::::::::::::::: 55 7.2 Tracing macro calls :::::::::::::::::::::::::::::::::::::::::::: 55 7.3 Controlling debugging output :::::::::::::::::::::::::::::::::: 58 7.4 Saving debugging output :::::::::::::::::::::::::::::::::::::: 60 8 Input control ::::::::::::::::::::::::::::::::::: 61 8.1 Deleting whitespace in input ::::::::::::::::::::::::::::::::::: 61 8.2 Changing the quote characters ::::::::::::::::::::::::::::::::: 62 8.3 Changing the comment delimiters:::::::::::::::::::::::::::::: 65 8.4 Changing the lexical structure of words :::::::::::::::::::::::: 68 8.5 Saving text until end of input:::::::::::::::::::::::::::::::::: 70 9 File inclusion ::::::::::::::::::::::::::::::::::: 73 9.1 Including named files :::::::::::::::::::::::::::::::::::::::::: 73 9.2 Searching for include files :::::::::::::::::::::::::::::::::::::: 74 10 Diverting and undiverting output ::::::::::: 75 10.1 Diverting output ::::::::::::::::::::::::::::::::::::::::::::: 75 10.2 Undiverting output ::::::::::::::::::::::::::::::::::::::::::: 76 10.3 Diversion numbers:::::::::::::::::::::::::::::::::::::::::::: 78 10.4 Discarding diverted text :::::::::::::::::::::::::::::::::::::: 79 11 Macros for text handling ::::::::::::::::::::: 81 11.1 Calculating length of strings :::::::::::::::::::::::::::::::::: 81 11.2 Searching for substrings :::::::::::::::::::::::::::::::::::::: 81 11.3 Searching for regular expressions:::::::::::::::::::::::::::::: 81 11.4 Extracting substrings::::::::::::::::::::::::::::::::::::::::: 82 11.5 Translating characters :::::::::::::::::::::::::::::::::::::::: 83 11.6 Substituting text by regular expression ::::::::::::::::::::::: 84 11.7 Formatting strings (printf-like) ::::::::::::::::::::::::::::::: 86 12 Macros for doing arithmetic ::::::::::::::::: 89 12.1 Decrement and increment operators::::::::::::::::::::::::::: 89 12.2 Evaluating integer expressions :::::::::::::::::::::::::::::::: 89 iii 13 Macros for running shell commands::::::::: 95 13.1 Determining the platform::::::::::::::::::::::::::::::::::::: 95 13.2 Executing simple commands :::::::::::::::::::::::::::::::::: 96 13.3 Reading the output of commands ::::::::::::::::::::::::::::: 97 13.4 Exit status ::::::::::::::::::::::::::::::::::::::::::::::::::: 97 13.5 Making temporary files ::::::::::::::::::::::::::::::::::::::: 99 14 Miscellaneous builtin macros ::::::::::::::: 101 14.1 Printing error messages:::::::::::::::::::::::::::::::::::::: 101 14.2 Printing current location :::::::::::::::::::::::::::::::::::: 101 14.3 Exiting from m4 ::::::::::::::::::::::::::::::::::::::::::::: 103 15 Fast loading of frozen state ::::::::::::::::: 105 15.1 Using frozen files :::::::::::::::::::::::::::::::::::::::::::: 105 15.2 Frozen file format ::::::::::::::::::::::::::::::::::::::::::: 106 16 Compatibility with other versions of m4:::: 109 16.1 Extensions in GNU M4:::::::::::::::::::::::::::::::::::::: 109 16.2 Facilities in System V m4 not in GNU m4 :::::::::::::::::::: 110 16.3 Other incompatibilities :::::::::::::::::::::::::::::::::::::: 113 17 Correct version of some examples :::::::::: 115 17.1 Solution for exch:::::::::::::::::::::::::::::::::::::::::::: 115 17.2 Solution for forloop :::::::::::::::::::::::::::::::::::::::: 115 17.3 Solution for foreach :::::::::::::::::::::::::::::::::::::::: 117 17.4 Solution for copy:::::::::::::::::::::::::::::::::::::::::::: 124 17.5 Solution for m4wrap ::::::::::::::::::::::::::::::::::::::::: 125 17.6 Solution for cleardivert ::::::::::::::::::::::::::::::::::: 126 17.7 Solution for capitalize::::::::::::::::::::::::::::::::::::: 127 17.8 Solution for fatal_error ::::::::::::::::::::::::::::::::::: 129 Appendix A How to make copies of the overall M4 package::::::::::::::::::::::::::::: 131 A.1 License for copying the M4 package :::::::::::::::::::::::::: 131 Appendix B How to make copies of this manual :: 143 B.1 License for copying this manual :::::::::::::::::::::::::::::: 143 Appendix C Indices of concepts and macros :: 151 C.1 Index for all m4 macros::::::::::::::::::::::::::::::::::::::: 151 C.2 Index for many concepts ::::::::::::::::::::::::::::::::::::: 152 1 GNU m4 is an implementation of the traditional UNIX macro processor. It is mostly SVR4 compatible, although it has some extensions (for example, handling more than 9 positional parameters to macros). m4 also has builtin functions for including files, running shell commands, doing arithmetic, etc. Autoconf needs GNU m4 for generating configure scripts, but not for running them. GNU m4 was originally written by Ren´eSeindal, with subsequent changes by Fran¸cois Pinard and other volunteers on the Internet. All names and email addresses can be found in the files m4-1.4.19/AUTHORS and m4-1.4.19/THANKS from the GNU M4 distribution. This is release 1.4.19. It is now considered stable: future releases in the 1.4.x series are only meant to fix bugs, increase speed, or improve documentation. However. An experimental feature, which would improve m4 usefulness, allows for changing the syntax for what is a word in m4. You should use: ./configure --enable-changeword if you want this feature compiled in. The current implementation slows down m4 consider- ably and is hardly acceptable. In the future, m4 2.0 will come with a different set of new features that provide similar capabilities, but without the inefficiencies, so changeword will go away and you should not count on it. 3 1 Introduction and preliminaries This first chapter explains what GNU m4 is, where m4 comes from, how to read and use this documentation, how to call the m4 program, and how to report bugs about it. It concludes by giving tips for reading the remainder of the manual. The following chapters then detail all the features of the m4 language. 1.1 Introduction to m4 m4 is a macro processor, in the sense that it copies its input to the output, expanding macros as it goes. Macros
Recommended publications
  • UNIX Commands
    UNIX commands ls list the contents of a directory ls -l list the content of a directory with more details mkdir <directory> create the directory <directory> cd <directory> change to the directory <directory> cd .. move back one directory cp <file1> <file2> copy the file <file1> into <file2> mv <file1> <file2> move the file <file1> to <file2> rm <file> remove the file <file> rmdir <directory> delete the directory <directory> man <command> display the manual page for <command> module load netcdf load the netcdf commands to use module load ferret load ferret module load name load the module “name” to use its commands vi <file> read the content of the file <file> vimdiff <file1> <file2> show the differences between files <file1> and <file2> pwd show current directory tar –czvf file.tar.gz file compress one or multiple files into file.tar.gz tar –xzvf file.tar.gz extract the compressed file file.tar.gz ./name execute the executable called name qsub scriptname submits a script to the queuing system qdel # cancel the submitted job number # from the queue qstat show queued jobs qstat –u zName show only your queued jobs Inside vi ESC, then :q! Quit without saving ESC, then :wq Quit with saving ESC, then i Get in insert mode to edit text ESC, then /word Search content for word ESC, then :% Go to end of document ESC, then :0 Go to beginning of document ESC, then :set nu Add line numbers ESC, then :# Go to line number # N.B.: If inside vimdiff, you have 2 files opened, so you need to quit vi twice.
    [Show full text]
  • Top 15 ERP Software Vendors – 2010
    Top 15 ERP Software Vendors – 2010 Profiles of the Leading ERP Vendors Find the best ERP system for your company. For more information visit Business-Software.com/ERP. About ERP Software Enterprise resource planning (ERP) is not a new concept. It was introduced more than 40 years ago, when the first ERP system was created to improve inventory control and management at manufacturing firms. Throughout the 70’s and 80’s, as the number of companies deploying ERP increased, its scope expanded quite a bit to include various production and materials management functions, although it was designed primarily for use in manufacturing plants. In the 1990’s, vendors came to realize that other types of business could benefit from ERP, and that in order for a business to achieve true organizational efficiency, it needed to link all its internal business processes in a cohesive and coordinated way. As a result, ERP was transformed into a broad-reaching environment that encompassed all activities across the back office of a company. What is ERP? An ERP system combines methodologies with software and hardware components to integrate numerous critical back-office functions across a company. Made up of a series of “modules”, or applications that are seamlessly linked together through a common database, an ERP system enables various departments or operating units such as Accounting and Finance, Human Resources, Production, and Fulfillment and Distribution to coordinate activities, share information, and collaborate. Key Benefits for Your Company ERP systems are designed to enhance all aspects of key operations across a company’s entire back-office – from planning through execution, management, and control.
    [Show full text]
  • Avoiding the Top 10 Software Security Design Flaws
    AVOIDING THE TOP 10 SOFTWARE SECURITY DESIGN FLAWS Iván Arce, Kathleen Clark-Fisher, Neil Daswani, Jim DelGrosso, Danny Dhillon, Christoph Kern, Tadayoshi Kohno, Carl Landwehr, Gary McGraw, Brook Schoenfield, Margo Seltzer, Diomidis Spinellis, Izar Tarandach, and Jacob West CONTENTS Introduction ..................................................................................................................................................... 5 Mission Statement ..........................................................................................................................................6 Preamble ........................................................................................................................................................... 7 Earn or Give, but Never Assume, Trust ...................................................................................................9 Use an Authentication Mechanism that Cannot be Bypassed or Tampered With .................... 11 Authorize after You Authenticate ...........................................................................................................13 Strictly Separate Data and Control Instructions, and Never Process Control Instructions Received from Untrusted Sources ........................................................................................................... 14 Define an Approach that Ensures all Data are Explicitly Validated .............................................16 Use Cryptography Correctly ....................................................................................................................
    [Show full text]
  • HECO-UNIX-Top Cladding Screw Into the Timber
    HECO-UNIX -top Cladding Screw THE UNIQUE CLADDING SCREW WITH CONTRACTION EFFECT APPLICATION EXAMPLES Façade construction Secure and reliable façade fixing Louvred façades 1 2 3 The variable pitch of the HECO-UNIX full The smaller thread pitch means that the Gap free axial fixing of the timber board thread takes hold boards are clamped firmly together via the HECO-UNIX full thread PRODUCT CHARACTERISTICS The HECO-UNIX-top Cladding Screw into the timber. The façade is secured axially via with contraction effect the thread, which increases the pull-out strength. HECO-UNIX-top full thread This results in fewer fastening points and an Timber façades are becoming increasingly popular ultimately more economical façade construction. Contraction effect thanks to the full in both new builds and renovations. This applica - Thanks to the full thread, the sole function of thread with variable thread pitch tion places high demands on fastenings. The the head is to fit the screw drive. As such, the Axial fixing of component façade must be securely fixed to the sub-structure HECO-UNIX-top façade screw has a small and the fixings should be invisible or attractive raised head, which allows simple, concealed Reduced spreading effect thanks to to look at. In addition, the structure must be installation preventing any water penetration the HECO-TOPIX ® tip permanently sound if it is constantly exposed to through the screw. The screws are made of the weather. The HECO-UNIX-top façade screw stainless steel A2, which safely eliminates the Raised countersunk head is the perfect solution to all of these requirements.
    [Show full text]
  • Dell EMC Powerstore CLI Guide
    Dell EMC PowerStore CLI Guide May 2020 Rev. A01 Notes, cautions, and warnings NOTE: A NOTE indicates important information that helps you make better use of your product. CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid the problem. WARNING: A WARNING indicates a potential for property damage, personal injury, or death. © 2020 Dell Inc. or its subsidiaries. All rights reserved. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. Contents Additional Resources.......................................................................................................................4 Chapter 1: Introduction................................................................................................................... 5 Overview.................................................................................................................................................................................5 Use PowerStore CLI in scripts.......................................................................................................................................5 Set up the PowerStore CLI client........................................................................................................................................5 Install the PowerStore CLI client..................................................................................................................................
    [Show full text]
  • Unix/Linux Command Reference
    Unix/Linux Command Reference .com File Commands System Info ls – directory listing date – show the current date and time ls -al – formatted listing with hidden files cal – show this month's calendar cd dir - change directory to dir uptime – show current uptime cd – change to home w – display who is online pwd – show current directory whoami – who you are logged in as mkdir dir – create a directory dir finger user – display information about user rm file – delete file uname -a – show kernel information rm -r dir – delete directory dir cat /proc/cpuinfo – cpu information rm -f file – force remove file cat /proc/meminfo – memory information rm -rf dir – force remove directory dir * man command – show the manual for command cp file1 file2 – copy file1 to file2 df – show disk usage cp -r dir1 dir2 – copy dir1 to dir2; create dir2 if it du – show directory space usage doesn't exist free – show memory and swap usage mv file1 file2 – rename or move file1 to file2 whereis app – show possible locations of app if file2 is an existing directory, moves file1 into which app – show which app will be run by default directory file2 ln -s file link – create symbolic link link to file Compression touch file – create or update file tar cf file.tar files – create a tar named cat > file – places standard input into file file.tar containing files more file – output the contents of file tar xf file.tar – extract the files from file.tar head file – output the first 10 lines of file tar czf file.tar.gz files – create a tar with tail file – output the last 10 lines
    [Show full text]
  • LS-LED LED Cabinet and Niche Lighting
    STRAIGHT EDGE™ – model: LS-LED LED Cabinet and Niche Lighting Fixture Type: b" Catalog Number: d" Project: Location: s" s" Length varies depending on model. See ordering info below for lengths. PRODUCT DESCRIPTION FIXTURE PERFORMANCE Low power consumption and strong lumen output make this low-pro le Model # Color Temp Power Lumens E cacy CBCP CRI LED strip light system perfect for small coves and niches, cabinets, shelves and bookcases. LS-LED08-W 2700K 2.2W 105 47.7 Lm/W 43 85 LS-LED14-W 2700K 4W 205 51.3 Lm/W 84 85 FEATURES LS-LED20-W 2700K 6.2W 315 50.8 Lm/W 127 85 LS-LED26-W 2700K 9.9W 345 34.8 Lm/W 145 85 • Available in 5 lengths LS-LED32-W 2700K 12.4W 450 36.3 Lm/W 182 85 • Multiple connectors and cables available to facilitate custom layouts • Four mounting options provided for di erent surfaces LS-LED08-C 4500K 2.9W 115 39.7 Lm/W 47 85 • Each section includes 2 at mounting clips, 2 45° angle mounting clips LS-LED14-C 4500K 4.9W 215 43.9 Lm/W 89 85 and 1 "I" connector LS-LED20-C 4500K 7.3W 315 43.2 Lm/W 130 85 • Adjustable angle mounting clips allow xture to be easily aimed while LS-LED26-C 4500K 10W 485 48.5 Lm/W 191 85 securely mounted for optimal task lighting performance and exibility LS-LED32-C 4500K 12.5W 620 49.6 Lm/W 241 85 • 120° beam spread • Free of projected heat, UV and IR radiation MAX RUN • 70,000 hour rated life • 5 year WAC Lighting product warranty Model # 60W Transformer 96W Transformer LS-LED08 20 pieces 36 pieces SPECIFICATIONS LS-LED14 12 pieces 20 pieces Construction: Extruded aluminum body with a polycarbonate lens.
    [Show full text]
  • Praat Scripting Tutorial
    Praat Scripting Tutorial Eleanor Chodroff Newcastle University July 2019 Praat Acoustic analysis program Best known for its ability to: Visualize, label, and segment audio files Perform spectral and temporal analyses Synthesize and manipulate speech Praat Scripting Praat: not only a program, but also a language Why do I want to know Praat the language? AUTOMATE ALL THE THINGS Praat Scripting Why can’t I just modify others’ scripts? Honestly: power, flexibility, control Insert: all the gifs of ‘you can do it’ and ‘you got this’ and thumbs up Praat Scripting Goals ~*~Script first for yourself, then for others~*~ • Write Praat scripts quickly, effectively, and “from scratch” • Learn syntax and structure of the language • Handle various input/output combinations Tutorial Overview 1) Praat: Big Picture 2) Getting started 3) Basic syntax 4) Script types + Practice • Wav files • Measurements • TextGrids • Other? Praat: Big Picture 1) Similar to other languages you may (or may not) have used before • String and numeric variables • For-loops, if else statements, while loops • Regular expression matching • Interpreted language (not compiled) Praat: Big Picture 2) Almost everything is a mouse click! i.e., Praat is a GUI scripting language GUI = Graphical User Interface, i.e., the Objects window If you ever get lost while writing a Praat script, click through the steps using the GUI Getting Started Open a Praat script From the toolbar, select Praat à New Praat script Save immediately! Save frequently! Script Goals and Input/Output • Consider what
    [Show full text]
  • BSD UNIX Toolbox 1000+ Commands for Freebsd, Openbsd
    76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page i BSD UNIX® TOOLBOX 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page ii 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iii BSD UNIX® TOOLBOX 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD®Power Users Christopher Negus François Caen 76034ffirs.qxd:Toolbox 4/2/08 12:50 PM Page iv BSD UNIX® Toolbox: 1000+ Commands for FreeBSD®, OpenBSD, and NetBSD® Power Users Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2008 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-37603-4 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 Library of Congress Cataloging-in-Publication Data is available from the publisher. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permis- sion should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions.
    [Show full text]
  • Project1: Build a Small Scanner/Parser
    Project1: Build A Small Scanner/Parser Introducing Lex, Yacc, and POET cs5363 1 Project1: Building A Scanner/Parser Parse a subset of the C language Support two types of atomic values: int float Support one type of compound values: arrays Support a basic set of language concepts Variable declarations (int, float, and array variables) Expressions (arithmetic and boolean operations) Statements (assignments, conditionals, and loops) You can choose a different but equivalent language Need to make your own test cases Options of implementation (links available at class web site) Manual in C/C++/Java (or whatever other lang.) Lex and Yacc (together with C/C++) POET: a scripting compiler writing language Or any other approach you choose --- must document how to download/use any tools involved cs5363 2 This is just starting… There will be two other sub-projects Type checking Check the types of expressions in the input program Optimization/analysis/translation Do something with the input code, output the result The starting project is important because it determines which language you can use for the other projects Lex+Yacc ===> can work only with C/C++ POET ==> work with POET Manual ==> stick to whatever language you pick This class: introduce Lex/Yacc/POET to you cs5363 3 Using Lex to build scanners lex.yy.c MyLex.l lex/flex lex.yy.c a.out gcc/cc Input stream a.out tokens Write a lex specification Save it in a file (MyLex.l) Compile the lex specification file by invoking lex/flex lex MyLex.l A lex.yy.c file is generated
    [Show full text]
  • LS JK BUILDER KIT 2007-2011 Jeep Wrangler JK Installation Guide
    LS JK BUILDER KIT 2007-2011 Jeep Wrangler JK Installation Guide Install Guide © Table of contents: Preface………………………………………………………………… ………………….….….…3 Part 1 Power options…………………………………………………………………….….…..…4 Part 2 The LS JK…………………………………………………………………………….….….6 Part 3 LS engines…………………………………………………………………………….….…7 Part 4 Operating systems………………………………………………………………………..10 Part 5 Gen IV LS engine features……………………………………………………………….11 Part 6 Transmissions……………………………………………………………………………..12 Part 7 Transfer cases……………………………………………………………………………..13 Part 8 MoTech basic builder kit contents……………………………………………………….14 Part 9 MoTech basic builder kit photo ID table…………………………………………………18 Part 10 MoTech Basic Kit Installation Overview and Shop Tools Required………………...20 Part 11 Prepping the vehicle………………………………………………………………..……21 Part 12 Removing the body……………………………………………………………………....21 Part 13 Prepping the chassis…………………………………………………………………..…28 Part 14 Installing the powertrain………………………………………………………………….31 Part 15 Accessory drive………………………………………………… ………………………36 Part 16 Wiring the LS JK…………………………………………………………………………..39 Appendix ……………………………………………………………………………………………52 Pentstar fan installation……………………………………………………………………52 Wiring diagrams…………………………………………………………………………….53 241J Input gear installation………………………………………………………………..56 Manual to automatic conversion……………………………………………………….….81 Torque specification GM and Jeep……………………………………………………….83 Radiator hose guide…………………………………………………………………...…...86 LS JK master part list…………………………………………………………………........87 2 Install Guide © Preface: The Wrangler
    [Show full text]
  • GNU M4, Version 1.4.7 a Powerful Macro Processor Edition 1.4.7, 23 September 2006
    GNU M4, version 1.4.7 A powerful macro processor Edition 1.4.7, 23 September 2006 by Ren´eSeindal This manual is for GNU M4 (version 1.4.7, 23 September 2006), a package containing an implementation of the m4 macro language. Copyright c 1989, 1990, 1991, 1992, 1993, 1994, 2004, 2005, 2006 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License.” i Table of Contents 1 Introduction and preliminaries ................ 3 1.1 Introduction to m4 ............................................. 3 1.2 Historical references ............................................ 3 1.3 Invoking m4 .................................................... 4 1.4 Problems and bugs ............................................. 8 1.5 Using this manual .............................................. 8 2 Lexical and syntactic conventions ............ 11 2.1 Macro names ................................................. 11 2.2 Quoting input to m4........................................... 11 2.3 Comments in m4 input ........................................ 11 2.4 Other kinds of input tokens ................................... 12 2.5 How m4 copies input to output ................................ 12 3 How to invoke macros........................
    [Show full text]