Difference between revisions of "Typesetter C"

From Computer History Wiki
Jump to: navigation, search
m (typo)
m (Switch to local copies)
Line 24: Line 24:
 
For details, see the original notes (below).
 
For details, see the original notes (below).
  
==External links==
+
==See also==
  
* [http://ana-3.lcs.mit.edu/~jnc/history/unix/CChanges.txt  Changes to C]
+
* [[Old C Changes]]
* [http://ana-3.lcs.mit.edu/~jnc/history/unix/COChanges.txt Older changes to C]
+
* [[C Changes]]
 +
 
 +
<!-- * [http://ana-3.lcs.mit.edu/~jnc/history/unix/CChanges.txt  Changes to C]
 +
* [http://ana-3.lcs.mit.edu/~jnc/history/unix/COChanges.txt Older changes to C] -->

Revision as of 21:50, 24 August 2018

Typesetter C (and variants thereof) is a name given to an extended version of C which appeared after V6 Unix and its somewhat primitive (by modern standards) C and compiler thereof were released, but before V7 Unix and its C/compiler. (The name was allegedly given to it because many of the extensions were needed for 'troff'.)

These were additions to the original Ritchie compiler of V6. Among the first round of changes to C for this version were:

  • Long integers
  • Unsigned integers
  • Inner blocks can have private local variables
  • Structures and other aggregates can be initialized
  • Local variables can be initialized
  • Bit fields
  • Macros with arguments (actually, this was in V6 C, but not documented)
  • Conditional compilation (again, present previously but not documented)
  • Function arguments can have 'register' type
  • 'typedef'
  • 'static' intra-file scope

The second round included:

  • Expressions in conditional compilation directives
  • Unions
  • Type coercions
  • Assignment operators ('+=', etc) have the character order reversed

For details, see the original notes (below).

See also