Palabra (matemáticas)
La operación de concatenación es asociativa y tiene a la palabra vacía como elemento neutro, por lo que el conjunto "A" adquiere estructura de monoide, mientras que el conjunto de palabras no vacías adquiere estructura de semigrupo., denominados respectivamente monoide libre y semigrupo libre (sobre el alfabeto "A").
Programación
Una vez que se termina de escribir un programa, es necesario de alguna forma traducirlo a lenguaje máquina, que es lo único que entiende el procesador. Esta tarea es automática, por medio de un programa adicional que toma el código escrito y lo procesa. Hay distintos enfoques para este procesamiento. El enfoque clásico se llama compilación: el programa toma el código en un lenguaje y genera código en el otro; al programa traductor se lo llama compilador. En general se habla de compilación y compiladores cuando el lenguaje de origen es de alto nivel; si la traducción es desde lenguaje ensamblador, se llama ensamblado y el programa se llama ensamblador (hay que distinguir el lenguaje ensamblador del programa ensamblador; en inglés es más claro, son "assembly language" y "assembler" respectivamente). Generalmente existe una fase posterior a la compilación denominada enlace o enlazado ("linking" en inglés). Los programas pueden escribirse en partes separadas y además pueden usar recursos provistos por bibliotecas. El enlazado, realizado por un programa llamado enlazador, combina todos los componentes y así genera un programa ejecutable completo.