Difference between revisions of "Basic Pascal Tutorial/Chapter 1/Identifiers"
(added link to fpc docs for identifers and comment about length being 127 chars) |
m |
||
Line 11: | Line 11: | ||
* Can be followed by alphanumeric characters (alphabetic characters and numerals), or the underscore (_). | * Can be followed by alphanumeric characters (alphabetic characters and numerals), or the underscore (_). | ||
* May not contain special characters, such as: | * May not contain special characters, such as: | ||
− | ~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / | \ | + | ~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / | \ (or the space character) |
=Reserved words= | =Reserved words= |
Revision as of 09:52, 5 January 2020
│
български (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:
~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / | \ (or the space character)
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. Free Pascal limits identifiers to 127 characters
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.