Откуда происходит слово «прагма»? - PullRequest
79 голосов
/ 25 сентября 2010

Итак, я знаю, что такое прагма и для чего она используется, но каков смысл самого слова? Я использовал это много раз в коде, но я никогда не знал, что на самом деле означает или обозначает это слово.

Ответы [ 5 ]

61 голосов
/ 25 сентября 2010

Согласно (!) Документу правительства США, описывающему дизайн Ады: Обоснование дизайна Язык программирования Ada® :

Прагма (от греческого слова, означающего действие) используется для направления действий компилятора, в частности, но не влияет на семантику программа (в общем).

Мне нравится (последнее предупреждение) там ...

Этот перекрестный отрывок хорошо ссылается на онлайновые греческие словари (например, цитируемые Martin York ), в которых написана прагма ( πράγμα , как прокомментировал первоначальный вопрос asveikau) означает

  1. то, что было сделано, поступок, совершенный факт
  2. что сделано или выполняется
    1. спецификация. бизнес, коммерческая сделка
  3. вопрос, вопрос, дело
    1. спецификация. в судебном смысле, по делу, по делу, по делу
  4. то, что есть или существует, вещь

Кажется, ключом к пониманию является слово действие , а не информация .

18 голосов
/ 25 сентября 2010

В математике и логике прагма - это данность, факт, предварительное условие для аргумента, проблемы или доказательства, которое следует.

15 голосов
/ 25 сентября 2010

Получено прямо из Википедия (программирование):

В Аде директивы компилятора называются прагмами (сокращение от «прагматическая информация»).

Хотя это явно не для C, это все равно должно ответить на ваш вопрос.Однако, как указал TJ, для этой информации нет действительного источника.

7 голосов
/ 25 сентября 2010

Из древнегреческого:

Прагма: дело сделано, факт

Как и в случае со всеми остальными, кто-то пытался быть слишком умным для своего блага. К сожалению, его первоначальное значение теряется для остальных из нас (если у вас нет Google и латино-греческого и английского словаря).

http://www.studylight.org/lex/grk/view.cgi?number=4229
http://www.bibletools.org/index.cfm/fuseaction/Lexicon.show/ID/G4229/pragma.htm

Оригинал (это то, что написано на предыдущей странице, но у меня нет этой книги):

Тэйер и Смит. «Греческий лексикон для Прагмы». "Новый Завет Греческий Лексикон".

3 голосов
/ 25 сентября 2010

Язык программирования Ada, возможно, был первым компилятором, использовавшим прагму для указания директив препроцессора. Слово использовалось как сокращенная форма «прагматической информации»

Когда был разработан язык программирования C, у него изначально не было прагматических директив, но он был быстро добавлен в спецификацию для поддержки пользовательских функций компилятора. (т. е. #pragma Optimization_level для компилятора Intel C ++)

С тех пор многие языки реализовали прагму в той или иной форме, включая C #, но они часто ограничены предупреждениями о времени создания и подсказками по оптимизации.

Одной из наиболее распространенных и полезных прагм в нестандартных C и C ++ является # pragma Once , используемая для указания того, что файл должен включаться только один раз.

...