An interpreted language for manipulating textual data. Programs take the form of a collection of patterns expressed as regular expressions, with associated actions in a C-like syntax to be performed if the pattern appears in the input. The name is derived from the initials of the authors—Alfred Aho, Peter Weinberger, and Brian Kernighan.