Существует глубокая аналогия между языками программирования и естественными языками. Так, обычный устный или письменный текст состоит из отдельных предложений, имеющих законченный смысл; этот смысл существенно зависит от других — предшествующих или последующих — предложений (это фактор контекстной определенности текста). Программа на языках программирования также представляет собой последовательность отдельных предложений-инструкций, имеющих законченный смысл, зависящий от других инструкций этой программы. Обычно такие инструкции в компьютерной литературе называют операторами, иногда — высказываниями или инструкциями.
В языках программирования можно выделить такие свойственные обычным языкам компоненты:
- алфавит — перечень используемых символов;
- словарь — перечень типовых «слов» (сочетаний символов) и слов, создаваемых пользователем;
- грамматика — морфология (правила написания слов) и синтаксис (правила объединения слов в предложение, разграничения предложений и объединения их в программу);
- семантика (смысловое значение предложений языка и текста в целом).
Однако, языки программирования по сравнению с естественными языками подчиняется гораздо более строгим правилам и ограничениям — они жестко формализованы в противоположность гибким и пластичным живым языкам. В частности, исключена неоднозначность толкования текста. Например, житейское «горе мне с тобой!..» в принципе могло бы означать как «горе мне и тебе», так и «горе мне из-за тебя».
Рассмотрим основные компоненты языков программирования
1. Алфавит
Множество разрешенных к употреблению символов ограничено. В него входят десятичные цифры, прописные буквы латинского алфавита, знак «=», знаки арифметических операций «+», «–», «*», «/», круглые скобки, символы пробела, точки, запятой и апострофа. В разных языках и версиях алфавит расширен за счет добавления квадратных и фигурных скобок, обратной косой черты «», кавычек, двоеточия и точки с запятой, знаков операций отношения «>» и «<», обозначений логических операций, стрелок, символов «%», «@», «!», «?» и некоторых иных, а также строчных латинских букв.
Во внутрипрограммных комментариях, диалогах с ЭВМ и в составе выводимых результатов возможен русский алфавит.
2. Словарь
Словарь каждого языка программирования включает набор зарезервированных слов (часто их называют ключевыми), смысл которых в тексте программ строго определен, например, READ, WRITE, IF, FUNCTION. Многие ключевые слова есть в словаре всех императивных ЯП, но их полный перечень, смысловая нагрузка и правила использования различны.
В словарь также входят разрешенные обозначения констант, имена переменных (в некоторых языках программирования и имена констант), указатели функций и имена подпрограмм, обозначения операций с помощью специальных символов или букв, слова русского языка для диалогов, пояснений и комментариев.