Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
P-code machine
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Programming virtual machine}} {{Use dmy dates|date=January 2020|cs1-dates=y}} In [[computer programming]], a '''P-code machine''' ('''portable code machine'''<ref>{{Cite book |last1=Upton |first1=Eben |last2=Duntemann |first2=Jeffrey |last3=Roberts |first3=Ralph |last4=Mamtora |first4=Tim |last5=Everard |first5=Ben |date=2016-09-13 |url=https://books.google.com/books?id=mU5ICgAAQBAJ&q=In+computer+programming%2C+a+p-code+machine%2C+or+portable+code+machine&pg=PA187 |title=Learning Computer Architecture with Raspberry Pi |publisher=John Wiley & Sons |isbn=978-1-119-18393-8 |language=en}}</ref>) is a [[virtual machine]] designed to execute ''P-code,'' the [[assembly language]] or [[machine code]] of a hypothetical [[central processing unit]] (CPU). The term ''P-code machine'' is applied generically to all such machines (such as the [[Java virtual machine]] (JVM) and [[MATLAB]] [[Bytecode|pre-compiled code]]), as well as specific implementations using those machines. One of the most notable uses of P-Code machines is the P-Machine of the [[Pascal-P]] system. The developers of the [[UCSD Pascal]] implementation within this system construed the ''P'' in ''P-code'' to mean ''pseudo'' more often than ''portable;'' they adopted a unique label for ''pseudo-code'' meaning instructions for a pseudo-machine. Although the concept was first implemented circa 1966 as [[BCPL#Design|O-code]] for the Basic Combined Programming Language ([[BCPL]]) and P code for the language [[Euler (programming language)|Euler]],<ref name="Wirth_1966"/> the ''term'' P-code first appeared in the early 1970s. Two early [[compiler]]s generating P-code were the Pascal-P compiler in 1973, by Kesav V. Nori, Urs Ammann, Kathleen Jensen, Hans-Heinrich Nägeli, and Christian Jacobi,<ref name="Nori_1975"/> and the [[Pascal-S]] compiler in 1975, by [[Niklaus Wirth]]. Programs that have been translated to P-code can either be [[Interpreter (computing)|interpreted]] by a software program that emulates the behaviour of the hypothetical CPU, or [[Binary translation|translated]] into the machine code of the CPU on which the program is to run and then executed. If there is sufficient commercial interest, a hardware implementation of the CPU specification may be built (e.g., the [[Pascal MicroEngine]] or a version of a [[Java processor]]).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)