{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:52:31Z","timestamp":1750308751260,"version":"3.41.0"},"reference-count":10,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2007,12,1]],"date-time":"2007-12-01T00:00:00Z","timestamp":1196467200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGCSE Bull."],"published-print":{"date-parts":[[2007,12]]},"abstract":"<jats:p>In traditional compiler construction courses, each compiler phase is studied in detail before moving on to the next one. This not only places a great distance between theory and practice but also makes the students lose the big picture of the subject. We have been employing a different course format in which the subject is incrementally introduced through ten compilers of increasingly complexity. The first compiler is in fact just a syntax analyzer of a very simple language. The last one is a complete compiler of a Pascal-like language. Students of this course learn how to build compilers faster than the usual.<\/jats:p>","DOI":"10.1145\/1345375.1345418","type":"journal-article","created":{"date-parts":[[2008,2,28]],"date-time":"2008-02-28T14:02:33Z","timestamp":1204207353000},"page":"70-74","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Learning compiler construction by examples"],"prefix":"10.1145","volume":"39","author":[{"given":"Jos\u00e9","family":"de Oliveira Guimar\u00e3es","sequence":"first","affiliation":[{"name":"UFSCar, S\u00e3o Carlos, SP, Brazil"}]}],"member":"320","published-online":{"date-parts":[[2007,12]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Ananian C. JLex: A lexical analyzer generator for Java. http:\/\/www.cs.princeton.edu\/~appel\/modern\/java\/JLex 2003.  Ananian C. JLex: A lexical analyzer generator for Java. http:\/\/www.cs.princeton.edu\/~appel\/modern\/java\/JLex 2003."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/611892.611974"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/234867.234880"},{"volume-title":"Proceedings of the 2006 Scheme and Functional Programming Workshop","year":"2006","author":"Ghuloum Abdulaziz","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","unstructured":"Grune D. Bal H. Jacobs J. H. and Langendoen K. Modern Compiler Design. John Wiley &amp; Sons 2000.   Grune D. Bal H. Jacobs J. H. and Langendoen K. Modern Compiler Design . John Wiley &amp; Sons 2000."},{"key":"e_1_2_1_6_1","unstructured":"Guimar\u00e3es Jos\u00e9 de O. Compilers used in the course. Available at http:\/\/www.dc.ufscar.br\/~jose\/courses\/cc-en.htm.  Guimar\u00e3es Jos\u00e9 de O. Compilers used in the course. Available at http:\/\/www.dc.ufscar.br\/~jose\/courses\/cc-en.htm."},{"key":"e_1_2_1_7_1","unstructured":"Guimar\u00e3es Jos\u00e9 de O. Learning Compiler Construction by Examples. Course material. Available at http:\/\/www.dc.ufscar.br\/~jose\/courses\/cc-en.htm.  Guimar\u00e3es Jos\u00e9 de O. Learning Compiler Construction by Examples. Course material. Available at http:\/\/www.dc.ufscar.br\/~jose\/courses\/cc-en.htm."},{"key":"e_1_2_1_8_1","unstructured":"Hudson S. CUP parser generator for Java. http:\/\/www.cs.princeton.edu\/~appel\/modern\/java\/CUP.  Hudson S. CUP parser generator for Java. http:\/\/www.cs.princeton.edu\/~appel\/modern\/java\/CUP."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/299649.299798"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/134510.134538"}],"container-title":["ACM SIGCSE Bulletin"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1345375.1345418","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1345375.1345418","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:22:20Z","timestamp":1750278140000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1345375.1345418"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,12]]},"references-count":10,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2007,12]]}},"alternative-id":["10.1145\/1345375.1345418"],"URL":"https:\/\/doi.org\/10.1145\/1345375.1345418","relation":{},"ISSN":["0097-8418"],"issn-type":[{"type":"print","value":"0097-8418"}],"subject":[],"published":{"date-parts":[[2007,12]]},"assertion":[{"value":"2007-12-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}