Text processing software - string splitters, parsers, and so on

Regular expression libraries: (main topic: regular expression)

  • cl-irregsexp - A fast regular expression library with a lispy alternative to traditional syntax for text matching
  • cl-ppcre - A portable, Perl-compatible regular expression library by Edi Weitz
  • cl-string-match - Provides substring (subsequence) search and text processing algorithms implementations including regular expression, prefix/suffix tree data structures, etc
  • lol-re - Tiny wrapper around CL-PPCRE, inspired by #~M and #~S read-macro from Let Over Lambda, making use of regular expressions more perly
  • pregexp - Portable Regular Expressions for Scheme and Common Lisp
  • re - The re package is a small, portable, lightweight, and quick, regular expression library for Common Lisp
  • recursive-regex - A library to extend CL-PPCRE to make regular expression named capture groups dispatch to custom matcher functions and named-expression patterns
  • Regex - Regex is a full-featured regular expression compiler and matching engine written by Michael Parker
  • regex (library by asciian) - A relatively incomplete (as of Jan 2018) relatively concise backtracking POSIX compatible regular expression library
  • terse-ppcre - TERSE-PPCRE aims to make manipulating CL-PPCRE regular expression parse trees easier and more succinct
  • The Regex Coach - A graphical Common Lisp application which can be used to experiment with (Perl-compatible) regular expressions interactively

Parser generators: (main topic: parser generator)

Lexers: (main topic: lexer)

  • cl-lex - cl-lex is a set of Common Lisp macros for generating lexical analyzers automatically
  • DEFLEXER - The LEXER package implements a lexical-analyzer-generator called DEFLEXER, which is built on top of both REGEX and CLAWK
  • graylex - graylex offers a means to do string operations on input streams without slurping all input at once by using Common Lisp Gray Streams, fixed-sized and flexible buffers
  • token-stream - Lexer class for cl-stream
  • Zebu - A Tool for Specifying Reversible LALR(1) Parsers

String processing: (main topic: string)

  • charseq - This package provides charseq structure which represents an efficient character sequence
  • cl-change-case - cl-change-case is a library to convert strings between camelCase, param-case, snake_case and more
  • cl-cidr-notation - cl-cidr-notation is a library for converting IP addresses and CIDR blocks from integer to string representations and vice versa
  • cl-interpol - CL-INTERPOL modifies the reader so that you can have interpolation of strings similar to Perl or Unix Shell scripts
  • cl-string-complete - A small library for string completion by Robert Smith
  • cl-string-match - Provides substring (subsequence) search and text processing algorithms implementations including regular expression, prefix/suffix tree data structures, etc
  • cl-strings - cl-strings is a portable, dependency-free set of utilities to manipulate strings in Common Lisp (split, join, replace, insert, clean, change case,…)
  • Levenshtein - The Levenshtein Distance algorithm finds the minimum number of operations needed to transform one string into the other, where an operation is an insertion, deletion, or substitution of a single character
  • lispbuilder-clawk - Stub added for asdf-install see Lispbuilder site for more details
  • lispbuilder-lexer - Stub added for asdf-install see Lispbuilder site for more details
  • lispbuilder-regex - Stub added for asdf-install see Lispbuilder site for more details
  • mk-string-metrics - This library implements efficient algorithms that calculate various string metrics in Common Lisp:
  • parse-float - A function to parse floating-point values from a string in Common Lisp
  • str - str is a modern and consistent string manipulation library (split, join, concat, replace, blank-p,…) to install with (ql:quickload :str)

Text: (main topic: text)

Streams: (main topic: stream) can be useful for, but are not limited to text processing.

  • CAPTURED-STREAM - captured-stream is a small Common Lisp library for viewing streams as sequences
  • changed-stream - Is a lisp library for non-destructive changing of streams by inserting or deleting characters at a position
  • Chunga - Chunga is a web/networking library which implements portable chunked HTTP streams as described in RFC 2616
  • cl-binary-file - The binary file package contains utilities to read and write binary files
  • CL-PLUS-SSL - This library is a fork of SSL-CMUCL
  • Cyclosis - Cyclosis is a combined implementation of the functionality of the Common Lisp stream dictionary and that of the Gray streams proposal
  • deflate - Deflate by Pierre Mai is a Common Lisp implementation of Deflate (RFC 1951) decompression, with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952) wrappers of deflate streams
  • fast-io - Fast-io is about improving performance to octet-vectors and octet streams (though primarily the former, while wrapping the latter)
  • Gray streams - "Gray Streams" are a generic function wrapping of the COMMON-LISP streams in the standard library, allowing for further specialization by end users
  • gzip-stream - gzip-stream is a simple wrapper around salza which gives CL users gzip compression and decompression in the form of streams (gzip-input-stream and gzip-output-stream)
  • MIME4CL - MIME4CL allows you to craft MIME compliant messages or to parse and handle them programmatically
  • pretty-function - pretty-function provides an API for making individual functions pprint differently when written to an output stream
  • rfc2388 - rfc2388 processes HTTP POST form data using enctype "multipart/form-data", as described in RFC 2388
  • simple-stream - Simple-streams are Franz's proposal for a Gray-streams replacement
  • trivial-bit-streams - Trivial-bit-streams implements flexible buffered bit streams
  • trivial-gray-streams - trivial-gray-streams provides an extremely thin compatibility layer for Gray streams


See also the pages for Regular Expression, XML libraries, HTML Parsers, Lisp Markup Languages, document formats, Unicode support, Unicode and Lisp