Basic Pascal Tutorial/Chapter 1/Identifiers

From Free Pascal wiki
Revision as of 16:41, 2 February 2016 by FTurtle (talk | contribs)
Jump to navigationJump to search

български (bg) Deutsch (de) English (en) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

1B - Identifiers (author: Tao Yue, state: changed)

Identifiers are names that allow you to reference stored values, such as variables and constants. Also, every program must be identified (get it?) by an identifier.

Rules for identifiers:

  • Must begin with a letter from the English alphabet or an underscore (_).
  • Can be followed by alphanumeric characters (alphabetic characters and numerals), or the underscore (_).
  • May not contain special characters, such as:
 ~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / | \

Reserved words

Several identifiers are reserved in Pascal -- you cannot use them as your own identifiers. According to the FPC Reference they are grouped in:

  • Turbo Pascal reserved words
  • Delphi reserved words
  • FPC reserved words

Turbo Pascal reserved words

absolute and array asm begin break case const
constructor continue destructor div do downto else end
file for function goto if implementation in inherited
inline interface label mod nil not object of
on operator or packed procedure program record reintroduce
repeat self set shl shr string then to
type unit until uses var while with xor

Delphi reserved words

The Delphi (II) reserved words are the same as the pascal ones, plus the following ones:

as class except exports finalization finally initialization
is library on property raise threadvar try

Free Pascal reserved words

On top of the Turbo Pascal and Delphi reserved words, Free Pascal also considers the following as reserved words:

dispose exit false new true

Also, Pascal has several pre-defined identifiers. You can replace them with your own definitions, but then you'd be deleting part of the functionality of Pascal.

abs arctan boolean char cos dispose eof eoln
exp false input integer ln maxint new odd
ord output pack page pred read readln real
reset rewrite round sin sqr sqrt succ text
true trunc write writeln

Pascal is not case sensitive! MyProgram, MYPROGRAM, and mYpRoGrAm are equivalent. But for readability purposes, it is a good idea to use meaningful capitalization!

Identifiers can be any length, but many Pascal compilers will only look at the first 32 characters or so. That is,

    ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFAlphaBeta
    ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGammaDelta

may be equivalent to some Pascal compilers because the differences begin in the 33rd character.

To make your code compilable by all compilers, use a reasonable length for identifiers -- up to 15 characters. That way, you'll also save on typing.

 ◄   ▲   ►