PMP internals

Overview ››
Parent Previous Next

The PMP idea 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.  


The PMP scanner was made with the help of a customized version 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. There is also a still active Delphi port on the Net, but it came after I made my own.


The PMP floating point engine is derived from the PicFloat libraries from Mike Gore.


The IDE was build around the SynEdit package which was discarded in PMP V2; now it is build around the Scintilla editor package; the IDE uses also some nice components from the JEDI Visual Components Library.


This help document has been written under the excellent HelpNDoc tool.


Some optimization techniques were found on the PIC mine of code web site.


At the beginning (2005) PMP was written in Delphi 6.0, then the code has been translated to Delphi 2006, then to Delphi XE and as of today: Delphi Berlin

The PMP package, including internal tools, not including standard or third party libraries is actually (V2.1) more than 280k lines of code and more than 310k lines including the IDE. A full build with all the libraries reports an amazing count of 964k lines...