PMP Pascal is a subset of the "standard" Pascal used in Turbo Pascal and Delphi, and does not comply with all rules of this standard:
The following keywords are implemented and / or reserved by PMP for the Pascal language and extensions (bold faced if PMP-specific and not in standard TP/Delphi Pascal):
ABS4, ABSOLUTE, AND, ARCCOS5, ARCSIN5, ARCTAN5, ARRAY, ASM, ASSERT, ASSIGN, AT, BAUD, BCDBIN, BEGIN, BIGINT, BIGWORD, BINBCD, BITS, BOOLEAN, BREAK, BY, BYTE, BYTES, CARD, CASE, CHAR, CHR, CLR, CLRWDT, CONFIG, CONST, CONTINUE, COPY, COS5, DEC, DECLARED, DEFINED, DEFINED_VALUE, DELAY, DELAY_CY, DELAY_MS, DELAY_NS, DEPRECATED, DISPOSE5, 6, DIV, DO, DOUBLE5, DOWNTO, DWORD, EACH, EEPROM, EEREAD, EEWRITE, ELSE, ELSIF, END, ERROR, EXCLUDE, EXIT, EXP5, EXPERIMENTAL, EXTERNAL, FALSE, FILL, FOR, FORWARD, FP_CLR5, FP_IOP5, FP_OVR5, FP_UND5, FREEMEM5, 6, FREQUENCY, FUNCTION, GETMEM5, 6, GET_LAT, GET_PIN, GET_PORT, GET_TRIS, GET_WPU, GOTO, HELPER1, HEX, HI, HIGH, HILONGWORD, HIWORD, IDLOC, IDLOCS, IF, IMPLEMENTATION, IN, INC, INCLUDE, INITIALIZATION, INLINE3, INPUT, INSTR_TIME, INSTR_TIME_NS, INT8, INT16, INT32, INT64, INTEGER, INTERFACE, INTERRUPT, IS_SFR, LENGTH, LIBRARY1, LN5, LO, LOCASE, LOLONGWORD, LONGINT, LONGWORD, LOOP, LOW, LOWORD, MAX, MAXBIGINT, MAXBIGWORD, MAXINT, MAXLONGINT, MAXWORD, MINBIGINT, MINBIGWORD, MININT, MINLONGINT, MINLONGWORD, MINWORD, MEMAVAIL(5,6), MIN, MOD, MOD16, MOD16S, MOD32, MOD8, MOVE, MUL16, MUL18, NEW5, 6, NIL, NOP, NOT, ODD, ODDP, OF, ON, OPERATOR1, OPTION, OR, ORD, OUT, OUTPUT, OVERLOAD3, PACKED1 , PI5, POINTER, POW5, PRED, PRIVATE1, PROCEDURE, PROGRAM, PROJECT_VERSION_BUILD, PROJECT_VERSION_MAJOR, PROJECT_VERSION_MINOR, PROJECT_VERSION_REVISION, PROJECT_VERSION_STRING, PROPERTY1, PROTECTED1, PUBLIC1, PWM, RANDOM, RANDOMIZE, READ, READLN, REAL5, RECORD, REGISTER1, REPEAT, RESET, RETURN, ROL, ROM, ROMABLE, ROR, ROUND5, SELF, SET, SFR, SFR_READ, SHL, SHLB, SHORTINT, SHR, SHRB, SIN, SINGLE5, SIZEOF, SLEEP, SQR4, SQRT5, STR, STRING, SUCC, SWAP, TAN5, TASK3, TASK_CLRSEM3, TASK_IDLE3, TASK_INIT3, TASK_PERIOD3, TASK_PRIORITY3, TASK_SETSEM3, TASK_START3, TASK_STOP3, TASK_TERMINATE3, TASK_TERMINATED3, TASK_TICK3, TASK_WAITFOR3, THEN, TO, TOGGLE, TRIS, TRUE, TRUNC5, TYPE, UINT8, UINT16, UINT32, UINT64, UNIT, UNTIL, UPCASE, USES, VAL, VAR, VERSION, VERSION_BUILD, VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_STRING, VOLATILE, WHILE, WITH, WORD, WRITE, WRITELN, XOR.
1: For future compatibility of source codes, some keywords that are used in other Pascal implementations such as TP or Delphi are already reserved even if not implemented. Even if not reserved by PMP, it should be avoided to use such keywords as identifiers.
2: Not implemented for all processors.
3: Same as 1 but the implementation is already scheduled in a future version.
4: Limited to integer types for processors other than PIC16 and PIC18.
5: Only for PIC16 and PIC18 processors.
6: Not for PIC16 non-enhanced processors.