{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,11]],"date-time":"2025-12-11T20:54:15Z","timestamp":1765486455054,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":85,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,6,11]],"date-time":"2020-06-11T00:00:00Z","timestamp":1591833600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nd\/4.0\/"}],"funder":[{"name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","award":["200021_175676"],"award-info":[{"award-number":["200021_175676"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,6,11]]},"DOI":"10.1145\/3385412.3385992","type":"proceedings-article","created":{"date-parts":[[2020,6,7]],"date-time":"2020-06-07T01:40:10Z","timestamp":1591494010000},"page":"1036-1051","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Zippy LL(1) parsing with derivatives"],"prefix":"10.1145","author":[{"given":"Romain","family":"Edelmann","sequence":"first","affiliation":[{"name":"EPFL, Switzerland"}]},{"given":"Jad","family":"Hamza","sequence":"additional","affiliation":[{"name":"EPFL, Switzerland"}]},{"given":"Viktor","family":"Kun\u010dak","sequence":"additional","affiliation":[{"name":"EPFL, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2020,6,11]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Michael D. Adams Celeste Hollenbeck and Matthew Might. 2016."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908128"},{"key":"e_1_3_2_1_3_1","volume-title":"Ullman","author":"Aho Alfred V.","year":"2006","unstructured":"Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006."},{"key":"e_1_3_2_1_4_1","volume-title":"Principles, Techniques, and Tools","author":"Compilers","unstructured":"Compilers: Principles, Techniques, and Tools (2nd Edition). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.","edition":"2"},{"key":"e_1_3_2_1_5_1","volume-title":"Ullman","author":"Aho Alfred V.","year":"1972","unstructured":"Alfred V. Aho and Jeffrey D. Ullman. 1972."},{"volume-title":"translation, and compiling. 1: Parsing","author":"The","key":"e_1_3_2_1_6_1","unstructured":"The theory of parsing, translation, and compiling. 1: Parsing. Prentice-Hall."},{"key":"e_1_3_2_1_7_1","volume-title":"POSIX Lexing with Derivatives of Regular Expressions. Archive of Formal Proofs (May","author":"Ausaf Fahad","year":"2016","unstructured":"Fahad Ausaf, Roy Dyckhoff, and Christian Urban. 2016. POSIX Lexing with Derivatives of Regular Expressions. Archive of Formal Proofs (May 2016). http:\/\/isa-afp.org\/entries\/Posix-Lexing.html, Formal proof development."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-77442-6_13"},{"key":"e_1_3_2_1_9_1","unstructured":"Cloudflare Blog. 2019."},{"key":"e_1_3_2_1_10_1","unstructured":"Incident report on memory leak caused by Cloudflare parser bug. https:\/\/blog.cloudflare.com\/incident-reporton-memory-leak-caused-by-cloudflare-parser-bug\/."},{"key":"e_1_3_2_1_11_1","unstructured":"Jonathan Immanuel Brachth\u00e4user Tillmann Rendel and Klaus Ostermann. 2016."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984026"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-55210-3_182"},{"key":"e_1_3_2_1_14_1","unstructured":"Janusz A Brzozowski. 1964."},{"key":"e_1_3_2_1_15_1","unstructured":"Derivatives of regular expressions. In Journal of the ACM. Citeseer."},{"key":"e_1_3_2_1_16_1","unstructured":"William H Burge. 1975. Recursive programming techniques. (1975)."},{"key":"e_1_3_2_1_17_1","unstructured":"John Cocke. 1969. Programming languages and their compilers: Preliminary notes. (1969)."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863543.1863585"},{"key":"e_1_3_2_1_19_1","unstructured":"Franklin Lewis DeRemer. 1969."},{"key":"e_1_3_2_1_20_1","unstructured":"Practical translators for LR (k) languages. Ph.D. Dissertation. Massachusetts Institute of Technology."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/362007.362035"},{"key":"e_1_3_2_1_22_1","unstructured":"Jeroen Fokker. 1995."},{"volume-title":"International School on Advanced Functional Programming","author":"Functional","key":"e_1_3_2_1_23_1","unstructured":"Functional parsers. In International School on Advanced Functional Programming. Springer, 1\u201323."},{"key":"e_1_3_2_1_24_1","unstructured":"Bryan Ford. 2002."},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/581478.581483"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/964001.964011"},{"key":"e_1_3_2_1_27_1","unstructured":"Robert Grimm. 2004."},{"volume-title":"Technical Report","author":"Parsing Practical Packrat","key":"e_1_3_2_1_28_1","unstructured":"Practical Packrat Parsing. Technical Report. New York University."},{"key":"e_1_3_2_1_29_1","unstructured":"Li Haoyi. 2019. FastParse 2.1.3. http:\/\/www.lihaoyi.com\/fastparse\/."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3360553"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796897002864"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800000411"},{"key":"e_1_3_2_1_33_1","unstructured":"Graham Hutton and Erik Meijer. 1996. Monadic parser combinators. (1996)."},{"key":"e_1_3_2_1_34_1","unstructured":"Adrian Johnstone and Elizabeth Scott. 1998."},{"volume-title":"International Conference on Compiler Construction. Springer, 16\u201330","author":"Generalised","key":"e_1_3_2_1_35_1","unstructured":"Generalised recursive descent parsing and follow-determinism. In International Conference on Compiler Construction. Springer, 16\u201330."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-28869-2_20"},{"key":"e_1_3_2_1_37_1","unstructured":"Tadao Kasami. 1966."},{"key":"e_1_3_2_1_38_1","volume-title":"Coordinated Science Laboratory Report no. R-257","author":"An","year":"1966","unstructured":"An efficient recognition and syntax-analysis algorithm for context-free languages. Coordinated Science Laboratory Report no. R-257 (1966)."},{"key":"e_1_3_2_1_39_1","volume-title":"On the translation of languages from left to right. Information and control 8, 6","author":"Knuth Donald E","year":"1965","unstructured":"Donald E Knuth. 1965. On the translation of languages from left to right. Information and control 8, 6 (1965), 607\u2013639."},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11957-6_19"},{"key":"e_1_3_2_1_41_1","volume-title":"Krishnaswami and Jeremy Yallop","author":"Neelakantan","year":"2019","unstructured":"Neelakantan R. Krishnaswami and Jeremy Yallop. 2019."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314625"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2535838.2535841"},{"key":"e_1_3_2_1_44_1","unstructured":"LAMP EPFL and Lightbend Inc. 2019."},{"key":"e_1_3_2_1_45_1","unstructured":"Scala Parser Combinators. https:\/\/github.com\/scala\/scala-parser-combinators."},{"key":"e_1_3_2_1_46_1","unstructured":"Bernard Lang. 1974."},{"volume-title":"International Colloquium on Automata, Languages, and Programming","author":"Deterministic","key":"e_1_3_2_1_47_1","unstructured":"Deterministic techniques for efficient nondeterministic parsers. In International Colloquium on Automata, Languages, and Programming. Springer, 255\u2013269."},{"key":"e_1_3_2_1_48_1","unstructured":"Sam Lasser Chris Casinghino Kathleen Fisher and Cody Roux. 2019."},{"key":"e_1_3_2_1_49_1","volume-title":"Parser Generator. In 10th International Conference on Interactive Theorem Proving (ITP","author":"A Verified LL","year":"2019","unstructured":"A Verified LL (1) Parser Generator. In 10th International Conference on Interactive Theorem Proving (ITP 2019). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik."},{"key":"e_1_3_2_1_50_1","volume-title":"Parsec: Direct style monadic parser combinators for the real world.","author":"Leijen Daan","year":"2001","unstructured":"Daan Leijen and Erik Meijer. 2001. Parsec: Direct style monadic parser combinators for the real world. (2001)."},{"key":"e_1_3_2_1_51_1","volume-title":"International Workshop on Computer Science Logic. Springer, 242\u2013256","author":"Lei\u00df Haas","year":"1991","unstructured":"Haas Lei\u00df. 1991. Towards Kleene algebra with recursion. In International Workshop on Computer Science Logic. Springer, 242\u2013256."},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1538788.1538814"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/321466.321477"},{"key":"e_1_3_2_1_54_1","unstructured":"Conor McBride. 2001. The Derivative of a Regular Type is its Type of One-Hole Contexts (Extended Abstract)."},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_56_1","unstructured":"Matthew Might David Darais and Daniel Spiewak. 2011."},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2034773.2034801"},{"key":"e_1_3_2_1_58_1","unstructured":"Vazha Omanashvili. 2019."},{"key":"e_1_3_2_1_59_1","unstructured":"JSON Generator. https:\/\/www.jsongenerator.com. Accessed 2019-11-20."},{"key":"e_1_3_2_1_60_1","unstructured":"Terence Parr. 2013."},{"key":"e_1_3_2_1_61_1","unstructured":"The definitive ANTLR 4 reference. Pragmatic Bookshelf."},{"key":"e_1_3_2_1_62_1","volume-title":"Grammars written for ANTLR v4","author":"Parr Terence","year":"2019","unstructured":"Terence Parr. 2019. Grammars written for ANTLR v4; expectation that the grammars are free of actions. https:\/\/github.com\/antlr\/grammarsv4\/tree\/master\/json. Accessed 2019-11-22. PLDI \u201920, June 15\u201320, 2020, London, UK Romain Edelmann, Jad Hamza, and Viktor Kun\u010dak"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993548"},{"key":"e_1_3_2_1_64_1","volume-title":"Chris Casinghino, Marco Gaboardi, Michael Greenberg, C\u0103t\u0103lin Hri\u0163cu, Vilhelm Sj\u00f6berg, and Brent Yorgey.","author":"Pierce Benjamin C.","year":"2018","unstructured":"Benjamin C. Pierce, Arthur Azevedo de Amorim, Chris Casinghino, Marco Gaboardi, Michael Greenberg, C\u0103t\u0103lin Hri\u0163cu, Vilhelm Sj\u00f6berg, and Brent Yorgey. 2018."},{"key":"e_1_3_2_1_65_1","unstructured":"Logical Foundations. Electronic textbook. Version 5.5. http:\/\/www.cis.upenn.edu\/~bcpierce\/sf."},{"key":"e_1_3_2_1_66_1","volume-title":"Scalameter: Automate your performance testing today. https:\/\/scalameter.github.io \/. Accessed 2019-11-20.","author":"Prokopec Aleksandar","year":"2019","unstructured":"Aleksandar Prokopec. 2019. Scalameter: Automate your performance testing today. https:\/\/scalameter.github.io \/. Accessed 2019-11-20."},{"key":"e_1_3_2_1_67_1","unstructured":"Alexey Radul. 2009. Propagation networks: A flexible and expressive substrate for computation. (2009)."},{"key":"e_1_3_2_1_68_1","unstructured":"Tahina Ramananandro Antoine Delignat-Lavaud C\u00e9dric Fournet Nikhil Swamy Tej Chajed Nadim Kobeissi and Jonathan Protzenko. 2019."},{"volume-title":"28th USENIX Security Symposium, USENIX Security 2019","year":"2019","key":"e_1_3_2_1_69_1","unstructured":"EverParse: Verified Secure Zero-Copy Parsers for Authenticated Message Formats. In 28th USENIX Security Symposium, USENIX Security 2019, Santa Clara, CA, USA, August 14-16, 2019."},{"key":"e_1_3_2_1_70_1","unstructured":"1465\u20131482."},{"key":"e_1_3_2_1_71_1","unstructured":"https:\/\/www.usenix.org\/conference\/usenixsecurity19\/ presentation\/delignat-lavaud"},{"key":"e_1_3_2_1_72_1","unstructured":"Roman R Redziejowski. 2008."},{"key":"e_1_3_2_1_73_1","volume-title":"441\u2013451","author":"Fundamenta Some","year":"2008","unstructured":"Some aspects of parsing expression grammar. Fundamenta Informaticae 85, 1-4 (2008), 441\u2013451."},{"key":"e_1_3_2_1_74_1","unstructured":"Tillmann Rendel and Klaus Ostermann. 2010."},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863523.1863525"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2010.08.041"},{"key":"e_1_3_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341690"},{"key":"e_1_3_2_1_78_1","unstructured":"Daniel Spiewak. 2018."},{"key":"e_1_3_2_1_79_1","unstructured":"Parseback. https:\/\/github.com\/djspiewak\/ parseback."},{"key":"e_1_3_2_1_80_1","unstructured":"Guy L Steele Jr. 1980. The definition and implementation of a computer programming language based on constraints. (1980)."},{"volume-title":"International School on Advanced Functional Programming","author":"Doaitse Swierstra S","key":"e_1_3_2_1_81_1","unstructured":"S Doaitse Swierstra and Luc Duponcheel. 1996. Deterministic, errorcorrecting combinator parsers. In International School on Advanced Functional Programming. Springer, 184\u2013207."},{"key":"e_1_3_2_1_82_1","volume-title":"Derivatives of Logical Formulas. Archive of Formal Proofs (May","author":"Traytel Dmitriy","year":"2015","unstructured":"Dmitriy Traytel. 2015. Derivatives of Logical Formulas. Archive of Formal Proofs (May 2015). http:\/\/isa-afp.org\/entries\/Formula_Derivatives. html, Formal proof development."},{"key":"e_1_3_2_1_83_1","volume-title":"Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions. Archive of Formal Proofs (June","author":"Traytel Dmitriy","year":"2014","unstructured":"Dmitriy Traytel and Tobias Nipkow. 2014. Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions. Archive of Formal Proofs (June 2014). http:\/\/isa-afp.org\/entries\/MSO_Regex_ Equivalence.html, Formal proof development."},{"key":"e_1_3_2_1_84_1","unstructured":"Philip Wadler. 1985."},{"key":"e_1_3_2_1_85_1","unstructured":"Daniel H Younger. 1967."}],"event":{"name":"PLDI '20: 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"London UK","acronym":"PLDI '20"},"container-title":["Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385992","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3385412.3385992","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:38:49Z","timestamp":1750199929000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3385412.3385992"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6,11]]},"references-count":85,"alternative-id":["10.1145\/3385412.3385992","10.1145\/3385412"],"URL":"https:\/\/doi.org\/10.1145\/3385412.3385992","relation":{},"subject":[],"published":{"date-parts":[[2020,6,11]]},"assertion":[{"value":"2020-06-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}