Welcome!
cool Welcome PIC fans!
(to Pascal language fans too!)
Technical

Close General documentation

Close How to support PMP

Close Manuals

Close Tips

Other stuff

Close Documentation

Close How to support PMP

Close Off Topic

Close Today's favourites

Search




Downloads
General documentation - Overview

Pic Micro Pascal (aka PMP) is a language tool that is targeted for small and medium Microchip PIC family of microcontrollers (8 bits, mostly PIC10, PIC12, PIC16, PIC18 and since V1.4: PIC16 enhanced mid-range).

Initially PMP was created for my personal use because I thought that other free compilers were too far from "a simple standard Pascal compiler" and commercial ones was too expensive for personal use. So PMP is not a commercial compiler that does everything, but it is intended to assist developers with the generation of small to medium (both in scope and in code size) applications for the PIC, and it is free.

Major axis of development was to not use special built-in functions and procedures to interface hardware registers; these registers are accessed directly as variables, there is no wrapper functions and the generated code is quite compact; The dark side is that the source code is not portable to other manufacturer processors (sometimes between different PIC families), but the target is PIC, and will stay PIC!

In its present implementation, PMP supports multiple files compilation, by include directives and by a per unit concept, as in TP or Delphi. PMP supports simple records, bit booleans, signed and unsigned types, long integers, arrays (one dimension), strings. Support for floating point variables and operations is for PIC16 and PIC18 only (IEEE 32 bits single and 40 bits internal formats).

PMP does not include an assembler or linker; it is designed to work with Microchip MPLAB suite installed, and it uses MPASM and MPLINK .inc, .dev and .lkr files for standard registers definition and processor / memory mapping initialization.

The generated code is quite compact but may be optimized for memory size (default) or speed (less calls to internal subroutines, use of inline code if possible).

For more details refer to: Documentation for Pic Micro Pascal.

 


 

PMP was initially inspired by the MPTINY implementation by Thomas J. LeMense and "Let's Build A Compiler" series written by Jack Crenshaw in 1988 through 1992. A web search for "Crenshaw" and "compiler" should help you find where this excellent reference may be found. The PMP scanner was made with the help of TPLex, a Turbo Pascal implementation of LEX. TPLex was made possible by Albert Graef and Berend de Boer. Information on this program and a companion port of Yacc may be found on the TPLY homepage. PMP's float library was inspired by Mike Gore's excellent work named PicFloat library.

 


 

cry PMP is still under construction. Source code is not available yet. 


Creation date : 2006.08.24 8:11 PM
Last update : 2013.04.12 5:25 PM
Category : General documentation
Page read 24762 times


react.gifReactions to this article

Nobody gave a comment yet.
Be the first to do so!


Connection...
 Members List Members : 75

Your Username:

Password:

[ Password lost ? ]


[ Join us ]


Member online :  Member online :
Anonymous online :  Anonymous online : 2

Total visits Total visits: 1583293  

Most ever online
Most ever onlineTotal : 170

The 01/01/2021 @ 17:50


Webmaster - Infos

Ip: 18.217.144.32

Search




Friends News
Where are you from?

Sentence to think about :  There are 10 kinds of people in the world — those who understand binary and those who don't.  Unknown
^ Top ^