@node Built-in
@chapter Redefineable built-in identifiers

The following identifiers are built in into GNU Pascal
but may be redefined according to any supported Pascal 
standard.

@example
Maxint
False
True
Input
Output

Rewrite
Reset
Put
Get
Write
Read
Writeln
Readln
Page
New
Dispose
Abs
Sqr
Sin
Cos
Exp
Ln
Sqrt
Arctan
Trunc
Round
Pack
Unpack
Ord
Chr
Succ
Pred
Odd
Eof
Eoln
@end example

Directives

@example
Asmname            Specify case-sensitive external name for Function
C                  External name for Function shall be lowercase
C_language         same as C
Forward
External           External Name of Function Has First Letter Uppercase
Extern             same as External
@end example

Extended Pascal required module interfaces

@example
Standardoutput
Standardinput
@end example

Object Pascal directive (not implemented)

@example
Override
@end example

Extended Pascal required words

@example
Maxchar
Maxreal
Minreal
Epsreal
@end example

Extended Pascal required Procedures and Functions

@example
Gettimestamp
Date
Time
Halt
Extend
Seekwrite
Seekread
Seekupdate
Empty
Update
Position
Lastposition
Re
Im
Cmplx
Card
Arg
@end example

Extended Pascal external binding

@example
Bind
Unbind
Binding
@end example

Extended Pascal complex type functions

@example
Polar
@end example

Extended Pascal String functions

@example
Readstr            Read from a string rather than a file
Writestr           Write to a string rather than a file
Length
Index              Search in a string
Substr             also @samp{MyStr [ 1..5 ]}
Trim
Eq                 lexical string comparision
Lt
Gt
Ne
Le
Ge
@end example

Extended pascal required string schema type generator

@example
String
@end example

Object pascal (not implemented)

@example
Copy
Null
Root
Textwritable
Self
@end example

Borland Pascal

@example
GetMem             Allocate memory with given size in bytes
FreeMem            Free memory allocated with GetMem
Inc                Increment
Dec                Decrement
@end example

More exotic fruits and birds (GPC extensions)

@example
Static             C-sense storage class specifications
__const__
__external__
__inline__
__static__
__volatile__
__byte__           C-style type size modifiers
__short__
__long__
__longlong__
__unsigned__

Asm                Inline assembly (GNU style)
Alignof
Break              C-style
Continue
Return
Sizeof
Max                for enumeral and real types
Min

Conjugate
Mark
Release

Default            like @samp{otherwise} in a @samp{case} statement
Others

Close
Definesize
@end example

Standard Pascal data types

@example
Integer
Real
Boolean
Char
Text
@end example

Extended Pascal complex type

@example
Complex
@end example

GPC extensions: void type (two spellings)

@example
__void__
Void
@end example

GPC extension: C compatibility string type

@example
__cstring__
@end example

Extended Pascal: TimeStamp and BindingType

@example
Timestamp
Bindingtype
@end example
