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

Regular expression libraries: (main topic: regular expression)

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
  • Zebu - Zebu is a LALR(1) parser generator similar to YACC, but for Common Lisp

String processing: (main topic: string)

  • charseq - CHARSEQ provides a shareable, (simple-array character *) typed string
  • cl-change-case - cl-change-case is a library to convert strings between camelCase, param-case, snake_case and more
  • cl-interpol - CL-INTERPOL modifies the reader so that you can have interpolation of strings similar to Perl or Unix Shell scripts
  • cl-string-match - 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,…)
  • 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.

  • changed-stream - Is a lisp library for non-destructive changing of streams by inserting or deleting characters at a position
  • fast-io - Fast-io is about improving performance to octet-vectors and octet streams (though primarily the former, while wrapping the latter)
  • simple-stream - Simple-streams are Franz's proposal for a Gray-streams replacement
  • 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