Jedes Computerprogramm besteht zunächst aus nicht mehr, als aus einer Anordnung von Zeichen. Es können dabei u.a. Buchstaben, Zahlen, mathematische Operatoren (+,-,*, usw.), Satzzeichen (Punkt, Komma, Semikolon usw.) und andere Spezialzeichen wie Klammern Verwendung finden. Damit ein erstelltes Programm zur Ausführung gebracht werden kann, müssen die darin enthaltenen Anweisungen in einer Sprache verfaßt werden, die das System, auf dem das Programm ablaufen soll, verstehen kann. Eine Sprache ist dabei ganz allgemein definiert durch Wörter, die ihrerseits aus einzelnen Zeichen (sog. Lexemen) bestehen. Eine Programmiersprache wird als formale Sprache bezeichnet, da sie künstlich entwickelt wurde und sich mit mathematischen Aussagen beschreiben und überprüfen läßt. Sie setzt sich aus einer Menge von abstrakten Wörtern zusammen. Diese Wörter werden aus einem erweiterten Alphabet gebildet. Jede Sprache benötigt darüber hinaus eine Semantik und eine Grammatik.