{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,24]],"date-time":"2023-10-24T05:40:55Z","timestamp":1698126055700},"reference-count":31,"publisher":"Wiley","issue":"12","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":5447,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1991,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Concurrency is an attractive method for reducing the execution time of compilers. By dividing source programs into segments which can be compiled concurrently, the task of compiling programs can be accelerated.<\/jats:p><jats:p>Many of the difficult problems which arise when constructing a concurrent compiler occur in the implementation of the semantic analyser. This paper investigates the problems involved in designing the semantic analyser for a concurrent compiler for a modern, block\u2010structured language. Several approaches to solving the problems which arise are presented. These solutions are then implemented as part of a concurrent Modula\u20102 + compiler, running on a shared memory multiprocessor. A performance evaluation of these semantic analysers is presented.<\/jats:p>","DOI":"10.1002\/spe.4380211205","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T07:01:33Z","timestamp":1163833293000},"page":"1323-1348","source":"Crossref","is-referenced-by-count":3,"title":["An investigation into concurrent semantic analysis"],"prefix":"10.1002","volume":"21","author":[{"given":"V.","family":"Seshadri","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"D. B.","family":"Wortman","sequence":"additional","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":"Compilers: Principles, Techniques and Tools","author":"Aho A. V.","year":"1986"},{"key":"e_1_2_1_3_2","unstructured":"V.Seshadri I. S.SmallandD. B.Wortman \u2018Concurrent compilation\u2019 Proceedings of the IFIP WG10.3 Working Conference on Distributed Processing 1987 pp.627\u2013641."},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"V.Seshadri D. B.Wortman M. D.Junkin S.Weber C. P.YuandI.Small \u2018Semantic analysis in a concurrent compiler\u2019 Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation 1988 pp.233\u2013240.","DOI":"10.1145\/960116.54013"},{"key":"e_1_2_1_5_2","unstructured":"M. D.JunkinandD. B.Wortman \u2018The implementation of a concurrent compiler\u2019 Technical Report CSR1\u2013235 Computer Systems Research Institute University of Toronto 1990."},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"P.Rovner R.LevinandJ.Wick \u2018On extending Modula\u20102 for building large integrated systems\u2019 Technical Report 3 Digital Equipment Corporation Systems Research Center 1985.","DOI":"10.1109\/MS.1986.229476"},{"key":"e_1_2_1_7_2","doi-asserted-by":"crossref","unstructured":"C. P.ThackerandL. C.Stewart \u2018Firefly: a multiprocessor workstation\u2019 Proceedings of the Second International Conference on Architectural Support for Programming Language and Operating Systems 1987 pp.164\u2013172.","DOI":"10.1145\/36206.36199"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.2243"},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"A. D.Birrell J. V.Guttag J. J.HorningandR.Levin \u2018Synchronization primitives for a multiprocessor: a formal specification\u2019 Proceedings of the Eleventh ACM Symposium on Operating System Principles 1987 pp.94\u2013102.","DOI":"10.1145\/37499.37509"},{"key":"e_1_2_1_10_2","unstructured":"P. R.McJonesandG. F.Swart \u2018Evolving the UNIX system interface to support multithreaded programs\u2019 Technical Report 21 Digital Equipment Corporation Systems Research Center 1987."},{"key":"e_1_2_1_11_2","volume-title":"Principles of Programming Languages: Design, Evaluation and Implementation","author":"MacLennan B. J.","year":"1983"},{"key":"e_1_2_1_12_2","unstructured":"C. N.Fischer \u2018On parsing context free languages in parallel environments\u2019 Ph.D. Thesis Cornell University 1975."},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/322307.322316"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.231848"},{"key":"e_1_2_1_15_2","volume-title":"Technical Report Memoranda Informatica 89\u201367","author":"op den Akker R.","year":"1989"},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/74818.74832"},{"key":"e_1_2_1_17_2","unstructured":"R. M.Schell \u2018Methods for constructing parallel compilers for use in a multiprocessor environment\u2019 Ph.D. Thesis University of Illinois at Urbana\u2010Champaign 1979."},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","unstructured":"M. K.DoneganandS. W.Katzke \u2018Lexical analysis and parsing techniques for a vector machine\u2019 Proceedings of the ACM Conference on Programming Languages and Compilers for Parallel and Vector Machines 1975 pp.138\u2013145.","DOI":"10.1145\/800026.808413"},{"key":"e_1_2_1_19_2","doi-asserted-by":"crossref","unstructured":"C. A.Ellis \u2018Parallel compiling techniques\u2019 Proceedings of the ACM National Conference 1971 pp.508\u2013519.","DOI":"10.1145\/800184.810520"},{"key":"e_1_2_1_20_2","doi-asserted-by":"crossref","unstructured":"H. E.Krohn \u2018A parallel approach to code generation for FORTRAN\u2010like compilers\u2019.Proceedings of the ACM Conference on Programming Language and Compilers for Parallel and Vector Machines 1975 pp.146\u2013152.","DOI":"10.1145\/390015.808414"},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/987475.987478"},{"key":"e_1_2_1_22_2","doi-asserted-by":"crossref","unstructured":"M.Zosel \u2018A parallel approach to compilation\u2019 Proceedings of the ACM Symposium on Principles of Programming Languages 1973 pp.59\u201370.","DOI":"10.1145\/512927.512933"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1977.231172"},{"key":"e_1_2_1_24_2","unstructured":"T.Christopher O.El\u2010Dessouki M.Evens H.Harr H.Klawans P.Krystosek R.MirchandaniandY.Tarhan \u2018SALAD: a distributed compiler for distributed systems\u2019.Proceedings of the International Conference on Parallel Processing 1981 pp.50\u201357."},{"key":"e_1_2_1_25_2","unstructured":"W.Huen O.El\u2010Dessouki E.HuskeandM.Evens \u2018A pipelined DYNAMO compiler\u2019.Proceedings of the International Conference on Parallel Processing 1977 pp.57\u201366."},{"key":"e_1_2_1_26_2","unstructured":"J. A.MillerandR. J.LeBlanc \u2018Distributed compilation: a case study\u2019.Proceedings of the 3rd Interantional Conference on Distributed Computing Systems 1982 pp.548\u2013553."},{"key":"e_1_2_1_27_2","unstructured":"J. L.Frankel \u2018The architecture of closely\u2010coupled distributed computers and their language processors\u2019 Ph.D. Thesis Harvard University 1983."},{"key":"e_1_2_1_28_2","unstructured":"M. T.Vandevoorde \u2018Parallel compilation on a tightly\u2010coupled multiprocessor\u2019. Technical Report 26 Digital Equipment Corporation Systems Research Center 1988."},{"key":"e_1_2_1_29_2","volume-title":"Technical Report COMP TR87\u201355","author":"Boehm H.\u2010J.","year":"1987"},{"key":"e_1_2_1_30_2","volume-title":"Introduction to Computer Science Using the Turing Programming Language","author":"Holt R. C.","year":"1984"},{"key":"e_1_2_1_31_2","unstructured":"M. T.VandevoordeandE.Roberts \u2018Workcrews: an abstraction for controlling parallelism\u2019 Technical Report 42 Digital Equipment Corporation Systems Research Center 1989."},{"key":"e_1_2_1_32_2","unstructured":"V.Seshadri \u2018Concurrent semantic analysis\u2019 Master's Thesis Department of Electrical Engineering University of Toronto 1988. Reprinted asComputer Systems Research Institute Technical Report CSRI\u2010216."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380211205","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380211205","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,23]],"date-time":"2023-10-23T04:27:33Z","timestamp":1698035253000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380211205"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1991,12]]},"references-count":31,"journal-issue":{"issue":"12","published-print":{"date-parts":[[1991,12]]}},"alternative-id":["10.1002\/spe.4380211205"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380211205","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1991,12]]}}}