<?xml version="1.0" encoding="ISO-8859-1"?>
<toc>
<book href="index.html" id="id5364247">
<title>Pascal Programming Guide</title>
<bookinfo href="front.html">
<title>Front Matter</title>
</bookinfo>
<preface href="pr01.html" id="id5418750">
<title>Introduction</title>
<section href="pr01.html#id5364485" id="id5364485">
<title>Organization</title>
</section>
<section href="pr01.html#id5361078" id="id5361078">
<title>Pascal Programming Environment</title>
</section>
<section href="pr01.html#id5361124" id="id5361124">
<title>Programming Procedure</title>
</section>
<section href="pr01.html#id5364722" id="id5364722">
<title>Related Documentation</title>
</section>
<section href="pr01.html#id5364813" id="id5364813">
<title>Notation and Syntax Conventions</title>
</section>
</preface>
<chapter href="ch01.html" id="id5362710">
<title>Chapter 1. Pascal Implementation</title>
<section href="ch01.html#id5362858" id="id5362858">
<title>Names</title>
<section href="ch01.html#id5362885" id="id5362885">
<title>Use of Underscores</title>
</section>
<section href="ch01.html#id5362940" id="id5362940">
<title>Lowercase in Public Names</title>
</section>
<section href="ch01.html#id5362996" id="id5362996">
<title>Alphabetic Labels</title>
</section>
</section>
<section href="ch01.html#id5363017" id="id5363017">
<title>Constants</title>
<section href="ch01.html#id5363033" id="id5363033">
<title>Non-Decimal Number Constants</title>
</section>
<section href="ch01.html#id5363132" id="id5363132">
<title>String Padding</title>
</section>
<section href="ch01.html#id5363315" id="id5363315">
<title>Non-Graphic Characters</title>
<table href="ch01.html#id5363352" id="id5363352">
<title>Table 1-1. Escape Character Sequences</title>
</table>
</section>
<section href="ch01.html#id5363769" id="id5363769">
<title>Constant Expressions</title>
<table href="ch01.html#id5363840" id="id5363840">
<title>Table 1-2.  Constant Operators and Predefined Functions</title>
</table>
</section>
</section>
<section href="ch01.html#id5435905" id="id5435905">
<title>Statement Extensions</title>
<section href="ch01.html#id5435922" id="id5435922">
<title>Ranges in Case Statement Constants</title>
</section>
<section href="ch01.html#id5435958" id="id5435958">
<title>Otherwise Clause in Case Statement</title>
</section>
<section href="ch01.html#id5436037" id="id5436037">
<title>Return Statement</title>
</section>
<section href="ch01.html#id5436112" id="id5436112">
<title>Continue Statement</title>
</section>
<section href="ch01.html#id5436165" id="id5436165">
<title>Next Statement</title>
</section>
<section href="ch01.html#id5436219" id="id5436219">
<title>Break Statement</title>
</section>
<section href="ch01.html#id5436288" id="id5436288">
<title>Exit Statement</title>
</section>
</section>
<section href="ch01.html#id5436311" id="id5436311">
<title>Declaration Extensions</title>
<section href="ch01.html#id5436327" id="id5436327">
<title>Separate Compilation</title>
<figure href="ch01.html#id5436499" id="id5436499">
<title>Figure 1-1. External Declarations in Header File</title>
</figure>
<figure href="ch01.html#id5436733" id="id5436733">
<title>Figure 1-2. Separate Compilation Unit with External Declarations</title>
</figure>
</section>
<section href="ch01.html#id5436768" id="id5436768">
<title>Shared Variables</title>
</section>
<section href="ch01.html#id5436796" id="id5436796">
<title>Initialization Clauses</title>
</section>
<section href="ch01.html#id5436915" id="id5436915">
<title>Relax Declaration Ordering</title>
</section>
<section href="ch01.html#id5436930" id="id5436930">
<title>Internal and Extern</title>
</section>
<section href="ch01.html#id5437003" id="id5437003">
<title>Function Return Types</title>
</section>
</section>
<section href="ch01.html#id5437030" id="id5437030">
<title>Predefined Procedures</title>
<section href="ch01.html#id5437045" id="id5437045">
<title>Assert</title>
</section>
<section href="ch01.html#id5437122" id="id5437122">
<title>Argv</title>
</section>
<section href="ch01.html#id5437174" id="id5437174">
<title>Date</title>
</section>
<section href="ch01.html#id5437283" id="id5437283">
<title>Time</title>
</section>
</section>
<section href="ch01.html#id5437342" id="id5437342">
<title>Predefined Functions</title>
<section href="ch01.html#id5437359" id="id5437359">
<title>Type Functions</title>
</section>
<section href="ch01.html#id5437501" id="id5437501">
<title>Min</title>
</section>
<section href="ch01.html#id5437549" id="id5437549">
<title>Max</title>
</section>
<section href="ch01.html#id5437647" id="id5437647">
<title>Lbound</title>
</section>
<section href="ch01.html#id5437695" id="id5437695">
<title>Hbound</title>
</section>
<section href="ch01.html#id5437763" id="id5437763">
<title>First</title>
</section>
<section href="ch01.html#id5437853" id="id5437853">
<title>Last</title>
</section>
<section href="ch01.html#id5437926" id="id5437926">
<title>Sizeof</title>
</section>
<section href="ch01.html#id5437998" id="id5437998">
<title>Argc</title>
</section>
<section href="ch01.html#id5438032" id="id5438032">
<title>Bitand</title>
</section>
<section href="ch01.html#id5438134" id="id5438134">
<title>Bitor</title>
</section>
<section href="ch01.html#id5438207" id="id5438207">
<title>Bitxor</title>
</section>
<section href="ch01.html#id5438250" id="id5438250">
<title>Bitnot</title>
</section>
<section href="ch01.html#id5438313" id="id5438313">
<title>Clock</title>
</section>
<section href="ch01.html#id5438377" id="id5438377">
<title>Lshift</title>
</section>
<section href="ch01.html#id5438422" id="id5438422">
<title>Rshift</title>
</section>
<section href="ch01.html#id5438496" id="id5438496">
<title>Firstof</title>
</section>
<section href="ch01.html#id5438553" id="id5438553">
<title>Lastof</title>
</section>
<section href="ch01.html#id5438580" id="id5438580">
<title>Addr</title>
</section>
<section href="ch01.html#id5438626" id="id5438626">
<title>Bitsize</title>
</section>
</section>
<section href="ch01.html#id5438651" id="id5438651">
<title>I/O Extensions</title>
<section href="ch01.html#id5438665" id="id5438665">
<title>Specifying Radix in the Write Statement</title>
</section>
<section href="ch01.html#id5438736" id="id5438736">
<title>Filename on Rewrite and Reset</title>
</section>
<section href="ch01.html#id5438788" id="id5438788">
<title>Reading Character Strings</title>
</section>
<section href="ch01.html#id5438829" id="id5438829">
<title>Reading and Writing Enumeration Types</title>
</section>
<section href="ch01.html#id5438961" id="id5438961">
<title>Lazy I/O</title>
</section>
<section href="ch01.html#id5439046" id="id5439046">
<title>Standard Error</title>
</section>
</section>
<section href="ch01.html#id5439081" id="id5439081">
<title>Predefined Data Type Extensions</title>
<section href="ch01.html#id5439095" id="id5439095">
<title>Cardinal</title>
</section>
<section href="ch01.html#id5439122" id="id5439122">
<title>Double</title>
</section>
<section href="ch01.html#id5439166" id="id5439166">
<title>Pointer</title>
<section href="ch01.html#id5439236" id="id5439236">
<title>Procedure and Function Pointers</title>
</section>
</section>
<section href="ch01.html#id5439263" id="id5439263">
<title>String</title>
</section>
<section href="ch01.html#id5439286" id="id5439286">
<title>INTEGER16</title>
</section>
<section href="ch01.html#id5439346" id="id5439346">
<title>INTEGER32</title>
</section>
</section>
<section href="ch01.html#id5439388" id="id5439388">
<title>Predefined Data Type Attributes</title>
<section href="ch01.html#id5439414" id="id5439414">
<title>static</title>
</section>
<section href="ch01.html#id5439479" id="id5439479">
<title>volatile</title>
</section>
<section href="ch01.html#id5439497" id="id5439497">
<title>Static Arrays</title>
</section>
<section href="ch01.html#id5439528" id="id5439528">
<title>Static Variables of Type Record</title>
</section>
<section href="ch01.html#id5439579" id="id5439579">
<title>Packed Records</title>
</section>
</section>
<section href="ch01.html#id5439635" id="id5439635">
<title>Parameter Extensions</title>
<section href="ch01.html#id5439642" id="id5439642">
<title>Univ</title>
</section>
<section href="ch01.html#id5439702" id="id5439702">
<title>Conformant Array Parameters</title>
</section>
<section href="ch01.html#id5439754" id="id5439754">
<title>In, Out, and In Out</title>
</section>
</section>
<section href="ch01.html#id5439809" id="id5439809">
<title>Compiler Notes</title>
<section href="ch01.html#id5439824" id="id5439824">
<title>Macro Preprocessor</title>
</section>
<section href="ch01.html#id5439946" id="id5439946">
<title>Short Circuiting</title>
</section>
<section href="ch01.html#id5439986" id="id5439986">
<title>Translation Limits</title>
<table href="ch01.html#id5440014" id="id5440014">
<title>Table 1-3. Maximum Limits of Data Items</title>
</table>
</section>
<section href="ch01.html#id5440139" id="id5440139">
<title>The -apc Option</title>
</section>
<section href="ch01.html#id5440628" id="id5440628">
<title>The -casesense Option</title>
</section>
</section>
</chapter>
<chapter href="ch02.html" id="id5440654">
<title>Chapter 2. Compiling, Linking, and Running Pascal Programs</title>
<section href="ch02.html#id5440681" id="id5440681">
<title>Compiling and Linking Programs</title>
<section href="ch02.html#id5440912" id="id5440912">
<title>The Pascal Driver</title>
<figure href="ch02.html#id5441033" id="id5441033">
<title>Figure 2-1. Pascal Compile Process</title>
</figure>
</section>
<section href="ch02.html#id5441054" id="id5441054">
<title>Pascal Driver Options</title>
<section href="ch02.html#id5441101" id="id5441101">
<title>Produce a Linkable Object File</title>
</section>
<section href="ch02.html#id5441198" id="id5441198">
<title>Rename the Executable</title>
</section>
<section href="ch02.html#id5441308" id="id5441308">
<title>Graphics Option</title>
</section>
<section href="ch02.html#id5441411" id="id5441411">
<title>Debugging Options</title>
</section>
</section>
<section href="ch02.html#id5441507" id="id5441507">
<title>Compiling Multi-Language Programs</title>
<section href="ch02.html#id5441542" id="id5441542">
<title>Driver Command Syntax</title>
<figure href="ch02.html#id5441645" id="id5441645">
<title>Figure 2-2. Multi-Language Compile Process</title>
</figure>
</section>
</section>
<section href="ch02.html#id5441701" id="id5441701">
<title>Linking Separate Language Objects</title>
</section>
<section href="ch02.html#id5441903" id="id5441903">
<title>Making Inter-Language Calls</title>
</section>
</section>
<section href="ch02.html#id5441939" id="id5441939">
<title>Running Programs</title>
</section>
</chapter>
<chapter href="ch03.html" id="id5442066">
<title>Chapter 3. Storage Mapping</title>
<section href="ch03.html#id5442088" id="id5442088">
<title>Arrays, Records, and Variant Records</title>
<section href="ch03.html#id5442112" id="id5442112">
<title>Arrays</title>
</section>
<section href="ch03.html#id5442149" id="id5442149">
<title>Records</title>
<section href="ch03.html#id5442238" id="id5442238">
<title>Example: Record</title>
<figure href="ch03.html#id5442273" id="id5442273">
<title>Figure 3-1. Record in Storage, End Padded</title>
</figure>
</section>
<section href="ch03.html#id5442370" id="id5442370">
<title>Example: Record with Different Alignment</title>
<figure href="ch03.html#id5442467" id="id5442467">
<title>Figure 3-2. Record in Storage, Middle Padding</title>
</figure>
</section>
</section>
<section href="ch03.html#id5442508" id="id5442508">
<title>Variant Records</title>
</section>
</section>
<section href="ch03.html#id5442607" id="id5442607">
<title>Ranges</title>
<section href="ch03.html#id5442621" id="id5442621">
<title>Ranges in a Packed Record</title>
<figure href="ch03.html#id5442691" id="id5442691">
<title>Figure 3-3. Ranges in a Packed Record</title>
</figure>
</section>
<section href="ch03.html#id5442715" id="id5442715">
<title>Ranges in an Unpacked Record</title>
<figure href="ch03.html#id5442915" id="id5442915">
<title>Figure 3-4. Ranges in an Unpacked Record</title>
</figure>
</section>
<section href="ch03.html#id5442739" id="id5442739">
<title>Non-Ranges Following Ranges in Unpacked Records</title>
<figure href="ch03.html#id5442785" id="id5442785">
<title>Figure 3-5. Non-Range Elements in an Unpacked Record</title>
</figure>
</section>
<section href="ch03.html#id5442844" id="id5442844">
<title>Non-Range Elements in a Packed Record</title>
<figure href="ch03.html#id5444230" id="id5444230">
<title>Figure 3-6. Non-Range Elements in a Packed Record</title>
</figure>
</section>
</section>
<section href="ch03.html#id5444259" id="id5444259">
<title>Alignment, Size, and Value by Data Type</title>
<table href="ch03.html#id5444293" id="id5444293">
<title>Table 3-1. Value Ranges by Data Type</title>
</table>
<table href="ch03.html#id5444599" id="id5444599">
<title>Table 3-2. Real and Double Maximum Values</title>
</table>
<table href="ch03.html#id5444700" id="id5444700">
<title>Table 3-3. Real and Double Minimum Values</title>
</table>
<section href="ch03.html#id5444840" id="id5444840">
<title>Set Sizing for Unpacked Records</title>
<table href="ch03.html#id5444872" id="id5444872">
<title>Table 3-4. Size and Alignment of Data Types in Unpacked Records or Arrays</title>
</table>
</section>
<section href="ch03.html#id5445511" id="id5445511">
<title>Set Sizing for Packed Arrays by Type</title>
<table href="ch03.html#id5445532" id="id5445532">
<title>Table 3-5. Size and Alignment of Pascal Packed Arrays</title>
</table>
</section>
<section href="ch03.html#id5446372" id="id5446372">
<title>Packed Record Alignment</title>
<table href="ch03.html#id5446393" id="id5446393">
<title>Table 3-6. Size and Alignment of Pascal Packed Records</title>
</table>
</section>
</section>
<section href="ch03.html#id5446840" id="id5446840">
<title>Rules for Set Sizes</title>
<table href="ch03.html#id5447012" id="id5447012">
<title>Table 3-7. Set Specifications</title>
</table>
</section>
</chapter>
<chapter href="ch04.html" id="id5447348">
<title>Chapter 4. Pascal/C Interface</title>
<section href="ch04.html#id5447413" id="id5447413">
<title>Guidelines for Using the Interface</title>
<section href="ch04.html#id5447475" id="id5447475">
<title>Single-precision Floating Point</title>
</section>
<section href="ch04.html#id5447558" id="id5447558">
<title>Procedure and Function Parameters</title>
</section>
<section href="ch04.html#id5447598" id="id5447598">
<title>Pascal By-Value Arrays</title>
</section>
<section href="ch04.html#id5447663" id="id5447663">
<title>File Variables</title>
</section>
<section href="ch04.html#id5447709" id="id5447709">
<title>Passing String Data Between C and Pascal</title>
</section>
<section href="ch04.html#id5447872" id="id5447872">
<title>Graphics Strings</title>
</section>
<section href="ch04.html#id5447954" id="id5447954">
<title>Passing Variable Arguments</title>
</section>
<section href="ch04.html#id5447981" id="id5447981">
<title>Passing Pointers</title>
</section>
<section href="ch04.html#id5448025" id="id5448025">
<title>Type Checking</title>
</section>
<section href="ch04.html#id5448088" id="id5448088">
<title>One Main Routine</title>
</section>
</section>
<section href="ch04.html#id5448148" id="id5448148">
<title>Calling Pascal from C</title>
<section href="ch04.html#id5448259" id="id5448259">
<title>C Return Values</title>
<table href="ch04.html#id5448281" id="id5448281">
<title>Table 4-1. Declaration of Return Value Types</title>
</table>
</section>
<section href="ch04.html#id5448622" id="id5448622">
<title>C to Pascal Arguments</title>
<table href="ch04.html#id5448644" id="id5448644">
<title>Table 4-2.  C Argument Types</title>
</table>
</section>
<section href="ch04.html#id5449119" id="id5449119">
<title>Calling a Pascal Function from C</title>
</section>
<section href="ch04.html#id5449194" id="id5449194">
<title>Calling a Pascal Procedure from C</title>
</section>
<section href="ch04.html#id5449284" id="id5449284">
<title>Passing Strings to a Pascal Procedure</title>
</section>
</section>
<section href="ch04.html#id5449426" id="id5449426">
<title>Calling C from Pascal</title>
<table href="ch04.html#id5449500" id="id5449500">
<title>Table 4-3.  Pascal Parameter Data Types Expected by C</title>
</table>
<section href="ch04.html#id5449997" id="id5449997">
<title>Calling a C Procedure</title>
</section>
<section href="ch04.html#id5450125" id="id5450125">
<title>Calling a C Function</title>
</section>
<section href="ch04.html#id5450196" id="id5450196">
<title>Passing Arrays</title>
</section>
</section>
</chapter>
<index href="ix01.html" id="ix">
<title>Index</title>
</index>
</book>
</toc>
