Last checked against version 1.4.
m4 is a macro processor. It copies input to output, expanding macros as it goes. Macros are either built-in or user-defined and can take any number of arguments. Besides just doing macro expansion, m4 has built-in functions for including named files, running Unix commands, doing integer arithmetic, manipulating text in various ways, recursion, etc. The m4 program can be used either as a front-end to a compiler or as a macro processor in its own right.
Last checked against version 1.4.
Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, mv, rm
Make: make
Gcc: cc1, collect2, cpp0, gcc
Grep: egrep, grep
Sed: sed
Sh-utils: date, echo, hostname
Textutils: cat, tr