Talk:Fundamental Syntactic Elements (Delphi)

From RAD Studio
Jump to: navigation, search

Please change in Extended Identifiers to:

"Delphi reserved words such as begin "

Get other changes from XML.

Fix "assemgler" and "pubic" in directives table.

Fix start of topic -- what goes there??

COMMENT: THESE ARE ALL FIXED -- Kris Houser 8/25/09

I think that the section The Delphi Character Set and Basic Syntax should be rather called Fundamental Syntactic Elements or, better and shorter, Tokens.


The left brace { is equivalent to the character pair of left parenthesis and asterisk (*.
The right brace } is equivalent to the character pair of right parenthesis and asterisk *).

First, that should be the character pair of asterisk and right parenthesis.
Second, I do not agree. While one can write

 var a: array[0..100.) of char;	// ".)" is equivalent to "]"

it is not possible for a comment opened with "{" to be closed with "*)", thus they are not equivalent special symbols, they are different symbols for delimitation of the different kinds of multi-line comments.


Add link:

For more information, see the section Unit References and the Uses Clause in Programs and Units (Delphi).

remove is not a reserved word and thus shall be removed from the Delphi Reserved Words table.

strict private and strict protected do not belong there as well.

delayed should be between default and deprecated in the Directives table.


There is an error in the markup before the Other Types of Directives section header that causes the section body to have too large left margin:

 10. operator indicates class operator.</blockquote><blockquote><br>
 ==== Other Types of Directives  ====


A label is a standard Delphi language identifier with the exception that, unlike other identifiers, labels can start with a digit.

That is not true. One may use either an identifier or a non-negative integer number as a label.

Numeric labels can include no more than ten digits - that is, a numeral between 0 and 9999999999.

That is not true. The current Delphi compiler (v.21) allows numeric labels from 0 to 4294967295 (uint32 range), this is about twice smaller than 9999999999.

Add link:

For more information about goto statements and labels, see Goto Statements in Declarations and Statements (Delphi).

-- Blaise

COMMENT: ALL THESE SUGGESTIONS HAVE BEEN VERIFIED AND IMPLEMENTED. mANY THANKS! RAD2277 - Kris Houser 8/25/09

Thanks. There are still some glitches though =)

This addition obviously was a mistake:

The following character pairs are also special symbols used for comments:


(* (. *) .) .. // := <= >= <>

since only first four symbols and the sixth one are used to delimit comments.

Probably I failed to express myself properly, what I meant is while [ ] and (. .) are truly equivalent and interchangeable, { } and (* *) are not. The latter just have the same meaning and similar usage. My suggestion for this subsection (replace starting from words The following table shows pairs of symbols used in Delphi that have similar meanings down to the Note):

The character pair of left parenthesis and period (. is equivalent to the left bracket [.
The character pair of period and right parenthesis .) is equivalent to the right bracket ].
Those pairs can be used interchangeably with [ and ], however it is not recommended to do so, since the former exists for backward compatibility with the original Pascal language.

The character pairs of parenthesis plus asterisk (* and *) are similar to the braces { and }: all of them are used to delimit multiline comments, see further description in Comments and Compiler Directives.


Please, add a link:

For more information, see the section Unit References and the Uses Clause in Programs and Units (Delphi).

in the subsection Identifiers.

There shall be an additional apostrophe between delayed and 11 in the Directives table.

-- Blaise

Thanks for the tip -- made the change. - Kris Houser 8/26/09

Have you noticed only the last line? :) -- Blaise