{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,23]],"date-time":"2023-10-23T06:21:11Z","timestamp":1698042071682},"reference-count":10,"publisher":"Wiley","issue":"7","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":7061,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1987,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>A system for dynamic compilation under the Unix operating system is described. The basis of the system is an incremental assembler that can be used statically or during program execution to insert or replace a module in an executable image. All cross\u2010module references are via offets into a run\u2010time symbol table. All generated code is independent of its location or the location of the symbol table. The symbol table and all modules reside in memory segments compatible with the memory allocator <jats:bold>malloc()<\/jats:bold>. The symbol table origin is maintained in a processor register. Library procedures allow the assembler (or C compiler) to be called to alter the currently executing program, or to place a stub function which acts as a trap, so that when the stub is invoked it caues a file to be dynamically compiled into the executing program to replace the stub with a bona fide procedure. This facilitates the construction of advanced interactive environments using native code. Some example applications, to Prolog and to incremental compilation, are considered.<\/jats:p>","DOI":"10.1002\/spe.4380170704","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:13:34Z","timestamp":1163816014000},"page":"455-467","source":"Crossref","is-referenced-by-count":4,"title":["Dynamic compilation in the unix environment"],"prefix":"10.1002","volume":"17","author":[{"given":"M. K.","family":"Crowe","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"UNIX Programmer's Manual (4.2bsd)","author":"Joy W.","year":"1980"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/214956.214960"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"R.Milner \u2018A proposal for standard ML\u2019 ACM Symposium on Lisp and Functional Programming 184\u2013197(1984).","DOI":"10.1145\/800055.802035"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1981.231109"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/1006147.1006177"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/1006147.1006188"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/382286.382376"},{"key":"e_1_2_1_9_2","volume-title":"The Linker for Modula\u20102 on the PDP\u201011","author":"Naegeli H. H.","year":"1981"},{"key":"e_1_2_1_10_2","article-title":"Facts and Figures about the York Ada Compiler","author":"Firth J.","journal-title":"Ada Letteers"},{"key":"e_1_2_1_11_2","unstructured":"M. K.Crowe Cap: A capability\u2010based compiler: User Guide Paisley College 1986."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380170704","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380170704","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T19:43:32Z","timestamp":1697831012000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380170704"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1987,7]]},"references-count":10,"journal-issue":{"issue":"7","published-print":{"date-parts":[[1987,7]]}},"alternative-id":["10.1002\/spe.4380170704"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380170704","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1987,7]]}}}