1
0
mirror of https://github.com/golang/go synced 2024-11-24 23:27:57 -07:00

autogenerate the table of contents

R=rsc
DELTA=149  (1 added, 145 deleted, 3 changed)
OCL=25231
CL=25234
This commit is contained in:
Rob Pike 2009-02-19 19:49:56 -08:00
parent 4501d348e8
commit fd1f3830c1

View File

@ -1,13 +1,5 @@
This document is a semi-formal specification of the Go systems
programming language.
<p>
<font color=red>
This document is not ready for external review, it is under active development.
Any part may change substantially as design progresses.
</font>
<!-- <!--
Biggest open issues: Biggest open issues:
[ ] General iterators [ ] General iterators
@ -143,143 +135,6 @@ Timeline (9/5/08):
- Jan 1, 2009: enough support to write interesting programs - Jan 1, 2009: enough support to write interesting programs
--> -->
<h2>Contents</h2>
<p>
TODO: This should be autogenerated but that will take work to make h3s appear in this list
</p>
<ul>
<li>Introduction
<li>Notation
<li>Source code representation
<ul>
<li>Characters
<li>Letters and digits
</ul>
<li>Vocabulary
<ul>
<li>Identifiers
<li>Numeric literals
<li>Character and string literals
<li>Operators and delimitors
<li>Reserved words
</ul>
<li>Declarations and scope rules
<ul>
<li>Predeclared identifiers
<li>Exported identifiers
<li>Const declarations
<ul>
<li>Iota
</ul>
<li>Type declarations
<li>Variable declarations
</ul>
<li>Types
<ul>
<li>Basic types
<ul>
<li>Arithmetic types
<li>Booleans
<li>Strings
</ul>
<li>Array types
<li>Struct types
<li>Pointer types
<li>Function types
<li>Interface types
<li>Slice types
<li>Map types
<li>Channel types
<li>Type equality
</ul>
<li>Expressions
<ul>
<li>Operands
<ul>
<li>Constants
<li>Qualified identifiers
<li>Composite literals
<li>Function literals
</ul>
<li>Primary expressions
<ul>
<li>Selectors
<li>Indexes
<li>Slices
<li>Type guards
<li>Calls
<ul>
<li>Parameter passing
</ul>
</ul>
<li>Operators
<ul>
<li>Arithmetic operators
<ul>
<li>Integer overflow
</ul>
<li>Comparison operators
<li>Logical operators
<li>Address operators
<li>Communication operators
</ul>
<li>Constant expressions
</ul>
<li>Statements
<ul>
<li>Label declarations
<li>Expression statements
<li>IncDec statements
<li>Assignments
<li>If statements
<li>Switch statements
<li>For statements
<li>Go statements
<li>Select statements
<li>Return statements
<li>Break statements
<li>Continue statements
<li>Label declaration
<li>Goto statements
<li>Defer statements
</ul>
<li>Function declarations
<ul>
<li>Method declarations
<li>Predeclared functions
<ul>
<li>Length and capacity
<li>Conversions
<li>Allocation
<li>Making slices, maps, and channels
</ul>
</ul>
<li>Packages
<li>Program initialization and execution
<li>Systems considerations
<ul>
<li>Package unsafe
<li>Size and alignment guarantees
</ul>
</ul>
<hr>
<h2>Introduction</h2> <h2>Introduction</h2>
<p> <p>
@ -301,7 +156,7 @@ compile/link model to generate executable binaries.
The grammar is compact and regular, allowing for easy analysis by The grammar is compact and regular, allowing for easy analysis by
automatic tools such as integrated development environments. automatic tools such as integrated development environments.
</p> </p>
<hr>
<h2>Notation</h2> <h2>Notation</h2>
<p> <p>
The syntax is specified using Extended Backus-Naur Form (EBNF): The syntax is specified using Extended Backus-Naur Form (EBNF):
@ -344,6 +199,7 @@ The form <tt>"a ... b"</tt> represents the set of characters from
Where possible, recursive productions are used to express evaluation order Where possible, recursive productions are used to express evaluation order
and operator precedence syntactically. and operator precedence syntactically.
</p> </p>
<hr>
<h2>Source code representation</h2> <h2>Source code representation</h2>