{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,21]],"date-time":"2023-10-21T11:14:44Z","timestamp":1697886884863},"reference-count":7,"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":7638,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1985,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Certain ambiguities in the definition of Pascal imperil the portability of Pascal programs. Specifications and an implementation of alternative interpretations are presented. Context\u2010free grammars augmented with guarded commands are demonstrated as a notation for specifying the static context\u2010sensitive constraints of programming languages.<\/jats:p><jats:p>Most of the advantages of context\u2010free grammars are preserved and yet the potential range of the syntactic definition component has been extended to encompass all static constraints. Context\u2010sensitive syntax typically tends to either clutter the semantic definition component or (as with type equivalence in Pascal) result in undesirable implementor\u2010dependent decisions.<\/jats:p><jats:p>An implementation of a CFG\u2010based parser that automatically checks for the defined context\u2010sensitive constraints is also described. In addition stepwise abstraction is introduced as a practical technique for communicating formal programming language definitions.<\/jats:p>","DOI":"10.1002\/spe.4380151203","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T01:13:18Z","timestamp":1163812398000},"page":"1141-1158","source":"Crossref","is-referenced-by-count":0,"title":["Specifications and an implementation of the type\u2010ambiguity problem in pascal"],"prefix":"10.1002","volume":"15","author":[{"given":"Derek","family":"Partridge","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070604"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359585"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/360933.360975"},{"key":"e_1_2_1_5_2","volume-title":"Dynamic production grammars: a definition","author":"Partridge D."},{"key":"e_1_2_1_6_2","volume-title":"Formal Languages and Their Relation to Automata","author":"Hopcroft J. E.","year":"1969"},{"key":"e_1_2_1_7_2","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-662-21554-8","volume-title":"Pascal User Manual and Report, Lecture Notes in Computer Science","author":"Jensen K.","year":"1974"},{"key":"e_1_2_1_8_2","unstructured":"U.Ammann \u2018The Zurich implementation\u2019 Proc. Symp. on Pascal \u2014 the Language and its Implementation Southampton 1977."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380151203","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380151203","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T17:57:03Z","timestamp":1697824623000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380151203"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1985,12]]},"references-count":7,"journal-issue":{"issue":"12","published-print":{"date-parts":[[1985,12]]}},"alternative-id":["10.1002\/spe.4380151203"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380151203","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1985,12]]}}}