{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,21]],"date-time":"2026-05-21T07:52:46Z","timestamp":1779349966709,"version":"3.51.4"},"reference-count":41,"publisher":"Elsevier BV","issue":"1-2","license":[{"start":{"date-parts":[[1995,7,1]],"date-time":"1995-07-01T00:00:00Z","timestamp":804556800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[1995,7,1]],"date-time":"1995-07-01T00:00:00Z","timestamp":804556800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[1999,12,22]],"date-time":"1999-12-22T00:00:00Z","timestamp":945820800000},"content-version":"vor","delay-in-days":1635,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Theoretical Computer Science"],"published-print":{"date-parts":[[1995,7]]},"DOI":"10.1016\/0304-3975(94)00183-j","type":"journal-article","created":{"date-parts":[[2003,4,25]],"date-time":"2003-04-25T06:09:04Z","timestamp":1051250944000},"page":"189-228","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":31,"title":["Using multiset discrimination to solve language processing problems without hashing"],"prefix":"10.1016","volume":"145","author":[{"given":"Jiazhen","family":"Cai","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Robert","family":"Paige","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"issue":"1","key":"10.1016\/0304-3975(94)00183-J_BIB1","first-page":"14","volume":"6","year":"1985","journal-title":"ADA UK News"},{"key":"10.1016\/0304-3975(94)00183-J_BIB2","series-title":"Design and Analysis of Computer Algorithms","author":"Aho","year":"1974"},{"key":"10.1016\/0304-3975(94)00183-J_BIB3","series-title":"Compilers","author":"Aho","year":"1986"},{"key":"10.1016\/0304-3975(94)00183-J_BIB4","series-title":"Program Flow Analysis","first-page":"79","article-title":"Reduction of operator strength","author":"Allen","year":"1981"},{"key":"10.1016\/0304-3975(94)00183-J_BIB5","series-title":"Proc. 15th ACM POPL","article-title":"Detecting equality of variables in programs","author":"Alpern","year":"1988"},{"key":"10.1016\/0304-3975(94)00183-J_BIB6","series-title":"Proc. ACM POPL","first-page":"143","article-title":"Look ma, no hashing, and no arrays neither","author":"Cai","year":"1991"},{"issue":"2","key":"10.1016\/0304-3975(94)00183-J_BIB7","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1016\/0022-0000(79)90044-8","article-title":"Universal classes of hash functions","volume":"18","author":"Carter","year":"1979","journal-title":"J. Comput. System Sci."},{"key":"10.1016\/0304-3975(94)00183-J_BIB8","series-title":"Proc. 8th ACM Symp. on Principles of Programming Languages","first-page":"155","article-title":"Macros that work","author":"Clinger","year":"1991"},{"issue":"7","key":"10.1016\/0304-3975(94)00183-J_BIB9","doi-asserted-by":"crossref","first-page":"20","DOI":"10.1145\/390013.808480","article-title":"Global common subexpression elimination","volume":"5","author":"Cocke","year":"1970","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/0304-3975(94)00183-J_BIB10","doi-asserted-by":"crossref","first-page":"850","DOI":"10.1145\/359863.359888","article-title":"An algorithm for reduction of operator strength","volume":"20","author":"Cocke","year":"1977","journal-title":"Comm. ACM"},{"key":"10.1016\/0304-3975(94)00183-J_BIB11","author":"Cocke","year":"1969"},{"key":"10.1016\/0304-3975(94)00183-J_BIB12","series-title":"Code motion of control structures in high-level languages","author":"Cytron","year":"1985"},{"issue":"4","key":"10.1016\/0304-3975(94)00183-J_BIB13","doi-asserted-by":"crossref","first-page":"758","DOI":"10.1145\/322217.322228","article-title":"Variations on the common subexpression problem","volume":"27","author":"Downey","year":"1980","journal-title":"J. ACM"},{"issue":"4","key":"10.1016\/0304-3975(94)00183-J_BIB14","doi-asserted-by":"crossref","first-page":"321","DOI":"10.1016\/0096-0551(75)90019-3","article-title":"High level iterators and a method for automatically designing data structure representation","volume":"1","author":"Earley","year":"1976","journal-title":"J. Comput. Languages"},{"key":"10.1016\/0304-3975(94)00183-J_BIB15","series-title":"Proc. 4th ACM Symp. on Principles of Programming Languages","first-page":"48","article-title":"Elimination of common subexpressions in very high level languages","author":"Fong","year":"1977"},{"issue":"1","key":"10.1016\/0304-3975(94)00183-J_BIB16","doi-asserted-by":"crossref","first-page":"68","DOI":"10.1145\/322290.322295","article-title":"Pattern matching in trees","volume":"29","author":"Hoffmann","year":"1982","journal-title":"J. ACM"},{"key":"10.1016\/0304-3975(94)00183-J_BIB17","series-title":"Theory of Machines and Computations","first-page":"189","article-title":"An n log n algorithm for minimizing states in a finite automaton","author":"Hopcroft","year":"1971"},{"key":"10.1016\/0304-3975(94)00183-J_BIB18","series-title":"Strength reduction based on code motion","author":"Knoop","year":"1991"},{"key":"10.1016\/0304-3975(94)00183-J_BIB19","series-title":"The Art of Computer Programming, Vol 1: Fundamental Algorithms","author":"Knuth","year":"1973"},{"key":"10.1016\/0304-3975(94)00183-J_BIB20","series-title":"Compiler Design Theory","author":"Lewis","year":"1976"},{"key":"10.1016\/0304-3975(94)00183-J_BIB21","series-title":"24th IEEE FOCS","first-page":"40","article-title":"The program complexity of searching a table","author":"Mairson","year":"1983"},{"key":"10.1016\/0304-3975(94)00183-J_BIB22","series-title":"ICCI' 89","first-page":"69","article-title":"Real-time simulation of a set machine on a RAM","volume":"Vol II","author":"Paige","year":"1989"},{"key":"10.1016\/0304-3975(94)00183-J_BIB23","series-title":"Proc. ESOP 90","first-page":"36","article-title":"Symbolic finite differencing \u2014 Part I","volume":"Vol. 432","author":"Paige","year":"1990"},{"key":"10.1016\/0304-3975(94)00183-J_BIB24","first-page":"603","article-title":"Efficient translation of external input in a Dynamically typed language","volume":"Vol. 1","author":"Paige","year":"1994"},{"issue":"6","key":"10.1016\/0304-3975(94)00183-J_BIB25","doi-asserted-by":"crossref","first-page":"973","DOI":"10.1137\/0216062","article-title":"Three efficient algorithms based on partition refinement","volume":"16","author":"Paige","year":"1987","journal-title":"SIAM J. Comput."},{"issue":"1","key":"10.1016\/0304-3975(94)00183-J_BIB26","doi-asserted-by":"crossref","first-page":"67","DOI":"10.1016\/0304-3975(85)90159-8","article-title":"A linear time solution to the single function coarsest partition problem","volume":"40","author":"Paige","year":"1985","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/0304-3975(94)00183-J_BIB27","doi-asserted-by":"crossref","first-page":"158","DOI":"10.1016\/0022-0000(78)90043-0","article-title":"Linear unification","volume":"16","author":"Paterson","year":"1978","journal-title":"J. Comput. System Sci."},{"key":"10.1016\/0304-3975(94)00183-J_BIB28","article-title":"Rewrite systems, pattern matching, and code generation","author":"Pelegri-Llopart","year":"1987"},{"key":"10.1016\/0304-3975(94)00183-J_BIB29","doi-asserted-by":"crossref","first-page":"181","DOI":"10.1016\/0304-3975(92)90142-3","article-title":"Minimisation of acyclic deterministic automata in linear time","volume":"1","author":"Revuz","year":"1992","journal-title":"Theoret. Comput. Sci."},{"key":"10.1016\/0304-3975(94)00183-J_BIB30","series-title":"Program Flow Analysis","first-page":"55","article-title":"Degrees of availability","author":"Rosen","year":"1981"},{"key":"10.1016\/0304-3975(94)00183-J_BIB31","series-title":"Programming with Sets: An introduction to SETL","author":"Schwartz","year":"1986"},{"key":"10.1016\/0304-3975(94)00183-J_BIB32","series-title":"Proc. 5th Princeton Conf. on Information Sciences and Systems","first-page":"182","article-title":"Deterministic top-down parsing","author":"Stearns","year":"1971"},{"key":"10.1016\/0304-3975(94)00183-J_BIB33","article-title":"Taliere: an interactive system for data structuring SETL programs","author":"Straub","year":"1988"},{"issue":"2","key":"10.1016\/0304-3975(94)00183-J_BIB34","doi-asserted-by":"crossref","first-page":"146","DOI":"10.1137\/0201010","article-title":"Depth first search and linear graph algorithms","volume":"1","author":"Tarjan","year":"1972","journal-title":"SIAM J. Comput."},{"key":"10.1016\/0304-3975(94)00183-J_BIB35","doi-asserted-by":"crossref","first-page":"110","DOI":"10.1016\/0022-0000(79)90042-4","article-title":"A class of algorithms which require nonlinear time to maintain disjoint sets","volume":"18","author":"Tarjan","year":"1979","journal-title":"J. Comput. System Sci."},{"key":"10.1016\/0304-3975(94)00183-J_BIB36","series-title":"Data Structures and Network Algorithms","author":"Tarjan","year":"1984"},{"issue":"1","key":"10.1016\/0304-3975(94)00183-J_BIB37","doi-asserted-by":"crossref","first-page":"11","DOI":"10.1145\/321105.321107","article-title":"A theorem on Boolean matrices","volume":"9","author":"Warshall","year":"1962","journal-title":"J. ACM"},{"key":"10.1016\/0304-3975(94)00183-J_BIB38","series-title":"Proc. 12th ACM POPL","article-title":"Constant propagation with conditional branches","author":"Wegman","year":"1985"},{"key":"10.1016\/0304-3975(94)00183-J_BIB39","series-title":"Proc. PODS","first-page":"243","article-title":"Quasilinear algorithms for processing relational calculus expressions","author":"Willard","year":"1990"},{"key":"10.1016\/0304-3975(94)00183-J_BIB40","series-title":"TR 962","article-title":"A new algorithm for semantics-based program integration","author":"Yang","year":"1990"},{"key":"10.1016\/0304-3975(94)00183-J_BIB41","article-title":"Detecting program components with equivalent behaviors","author":"Yang","year":"1989"}],"container-title":["Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:030439759400183J?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:030439759400183J?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,9,10]],"date-time":"2025-09-10T04:17:50Z","timestamp":1757477870000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/030439759400183J"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1995,7]]},"references-count":41,"journal-issue":{"issue":"1-2","published-print":{"date-parts":[[1995,7]]}},"alternative-id":["030439759400183J"],"URL":"https:\/\/doi.org\/10.1016\/0304-3975(94)00183-j","relation":{},"ISSN":["0304-3975"],"issn-type":[{"value":"0304-3975","type":"print"}],"subject":[],"published":{"date-parts":[[1995,7]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Using multiset discrimination to solve language processing problems without hashing","name":"articletitle","label":"Article Title"},{"value":"Theoretical Computer Science","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/0304-3975(94)00183-J","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 1995 Published by Elsevier B.V.","name":"copyright","label":"Copyright"}]}}