Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
1Activity

Table Of Contents

What is D?
Why D?
Features To Keep From C/C++
Features To Drop
Who D is For
Who D is Not For
Major Features of D
Object Oriented Programming
Productivity
Resource Management
Performance
Reliability
Compatibility
Project Management
Sample D Program (sieve.d)
Lexical
Phases of Compilation
Source Text
End of File
End of Line
Comment:
Identifiers
Identifier:
String Literals
Integer Literals
Floating Literals
Keywords
Keyword:
Tokens
Token:
Pragmas
Pragma
Modules
Module:
Module Declaration
ModuleDeclaration:
Import Declaration
ImportDeclaration:
Scope and Modules
Static Construction and Destruction
Order of Static Construction
Order of Static Construction within a Module
Order of Static Destruction
Declarations
Declaration:
Declaration Syntax
Type Defining
Type Aliasing
Alias Declarations
Types
Basic Data Types
Derived Data Types
User Defined Types
Pointer Conversions
Implicit Conversions
Integer Promotions
Usual Arithmetic Conversions
Delegates
Properties
Properties for Integral Data Types
Properties for Floating Point Types
.init Property
Attributes
Attribute:
Linkage Attribute
LinkageAttribute:
Align Attribute
AlignAttribute:
Deprecated Attribute
Protection Attribute
Const Attribute
Override Attribute
Static Attribute
Auto Attribute
AndAnd Expressions
Bitwise Expressions
Or Expressions
Xor Expressions
And Expressions
Equality Expressions
Identity Expressions
Relational Expressions
Integer comparisons
Floating point comparisons
In Expressions
Shift Expressions
Add Expressions
Mul Expressions
Unary Expressions
New Expressions
Cast Expressions
Postfix Expressions
Primary Expressions
this
super
null
true, false
Function Literals
FunctionLiteral
Assert Expressions
AssertExpression:
Statements
Statement:
Labelled Statements
LabelledStatement:
Block Statement
Expression Statement
Declaration Statement
If Statement
IfStatement:
While Statement
WhileStatement:
Do-While Statement
DoStatement:
For Statement
ForStatement:
Switch Statement
SwitchStatement:
Continue Statement
ContinueStatement:
Break Statement
BreakStatement:
Return Statement
ReturnStatement:
Goto Statement
With Statement
WithStatement:
Synchronize Statement
Try Statement
TryStatement:
Throw Statement
ThrowStatement:
Volatile Statement
VolatileStatement:
Asm Statement
AsmStatement:
Arrays
Pointers
Static Arrays
Dynamic Arrays
Array Declarations
Usage
Slicing
Array Copying
Array Setting
Array Concatenation
Array Operations
Rectangular Arrays
Array Properties
Setting Dynamic Array Length
Array Bounds Checking
Array Initialization
Static Initialization of Static Arrays
Special Array Types
Arrays of Bits
Strings
Associative Arrays
Associative Array Example: word count
Structs, Unions, Enums
Structs, Unions
Static Initialization of Structs
Static Initialization of Unions
Enums
Enum Properties
Initialization of Enums
Classes
Fields
Super Class
Constructors
Destructors
Static Constructors
Static Destructor
Class Invariants
Unit Tests
Class Allocators
Class Deallocators
Auto Classes
Interfaces
Functions
Virtual Functions
Inline Functions
Function Overloading
Function Parameters
Local Variables
Delegates, Function Pointers, and Dynamic Closures
Operator Overloading
Unary Operator Overloading
Overloadable Unary Operators
Overloading ++e and --e
Examples
Binary Operator Overloading
Overloadable Binary Operators
Overloading == and !=
Overloading <, <=, > and >=
Future Directions
Templates
Instantiation Scope
Argument Deduction
Value Parameters
Specialization
Limitations
Contracts
Assert Contract
Pre and Post Contracts
In, Out and Inheritance
Debug and Version
Predefined Versions
Specification
Debug Statement
DebugStatement:
Version Statement
VersionStatement:
Debug Attribute
DebugAttribute:
Version Attribute
Error Handling in D
The Error Handling Problem
Pointers and the Garbage Collector
Working with the Garbage Collector
Memory Management
Strings (and Array) Copy-on-Write
Real Time
Smooth Operation
Free Lists
Reference Counting
Explicit Class Instance Allocation
Mark/Release
Allocating Class Instances On The Stack
Floating Point
Floating Point Intermediate Values
Complex and Imaginary types
Rounding Control
Exception Flags
Floating Point Comparisons
D x86 Inline Assembler
Labels
align IntegerExpression
even
naked
Opcodes
Special Cases
Operands
Operand Types
Struct/Union/Class Member Offsets
Special Symbols
Opcodes Supported
AMD Opcodes Supported
Interfacing to C
Calling C Functions
Storage Allocation
Data Type Compatibility
Calling printf()
Structs and Unions
Interfacing to C++
Portability Guide
OS Specific Code
Embedding D in HTML
D Runtime Model
Object Model
Array Model
ctype
date
file
gc
intrinsic
math
object
outbuffer
path
process
random
regexp
stdint
stream
Reading
Writing
Seeking
string
To copy or not to copy?
system
thread
stdio
D for Win32
Calling Conventions
Windows Executables
DLLs (Dynamic Link Libraries)
Memory Allocation
COM Programming
D vs Other Languages
Notes
Programming in D for C Programmers
Getting the Size of a Type
Get the max and min values of a type
Primitive Types
Special Floating Point Values
Taking the Modulus of a floating point number
Dealing with NAN's in floating point compares
Assert's are a necessary part of any good defensive coding strategy
Initializing all elements of an array
Looping through an array
Creating an array of variable size
String Concatenation
Formatted printing
Forward referencing functions
Functions that have no arguments
Labelled break's and continue's
Goto Statements
Struct tag name space
Looking up strings
Setting struct member alignment
Anonymous Structs and Unions
Declaring struct types and variables
Getting the offset of a struct member
Union initializations
Struct initializations
Array initializations
Escaped String Literals
Ascii vs Wide Characters
Arrays that parallel an enum
Creating a new typedef'd type
Comparing structs
Comparing strings
Sorting arrays
Volatile memory access
String literals
Data Structure Traversal
Programming in D for C++ Programmers
Defining constructors
Base class initialization
Friends
Operator overloading
Namespace using declarations
RAII (Resource Acquisition Is Initialization)
Dynamic Closures
The C Preprocessor Versus D
Header Files
#pragma once
#pragma pack
Macros
Conditional Compilation
Code Factoring
The D Style
White Space
Comments
Naming Conventions
Meaningless Type Aliases
Declaration Style
Hungarian Notation
Example: wc
Compiler for D Programming Language
Files
Requirements
Installation
Example
Compiler Arguments and Switches
Linking
Environment Variables
SC.INI Initialization File
Bugs
Feedback
Acknowledgements
INDEX
0 of .
Results for:
No results containing your search query
P. 1
d

d

Ratings: (0)|Views: 21 |Likes:
Published by Girish Menon

More info:

Published by: Girish Menon on Dec 20, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/10/2011

pdf

text

original

You're Reading a Free Preview
Pages 5 to 48 are not shown in this preview.
You're Reading a Free Preview
Pages 53 to 119 are not shown in this preview.
You're Reading a Free Preview
Pages 124 to 137 are not shown in this preview.
You're Reading a Free Preview
Pages 142 to 148 are not shown in this preview.
You're Reading a Free Preview
Pages 153 to 228 are not shown in this preview.

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->