Автор Гілка: Expression versus statement (переклад).  (Прочитано 3680 раз)

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Наведу речення, це по C програмуванню:
Цитата
An expression such as x = 0 or i++ or printf(...) becomes a statement when it is followed by a semicolon, as in
x = 0;
i++;
printf(...);
Braces { and } are used to group declarations and statements together into compound statement, or block, so that they are syntactically equivalent to a single statement.
Цитата
...notice there is  a semicolon after z = a  in
     if (a > b)
           z = a;
     else
           z = b;
This is because grammatically, a statement follows the if, and an expression statement like "z = a;" is always terminated by semicolon.


Мені що expression що statement перекладається як "вираз", але, очевидно, що їх необхідно розділити у різні терміни. "Заява", "формулювання", "вказівка", "твердження" ... саме у цьому контексті.
Де наші лінгвісти? :)

[Редаговано]

Я зупинився на expression = вираз ; statement = вказівка ; statement expression = вираз вказівки.
« Змінено: 2005-08-07 22:27:48 від tech »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Expression versus statement (переклад).
« Відповідей #1 : 2005-08-08 17:23:22 »
statement - це скоріше ствердження.

Обговорення:Bash beginners guide
Цитата
statement      твердження; вираз (залежить від контексту) (вираз -- таки expression; краще уникати плутанини)
[Fedora Linux]

Відсутній Сергій Кузьменко

  • Дописувач
  • **
  • дописів: 92
  • Карма: +0/-0
  • Ubuntu Linux
Re: Expression versus statement (переклад).
« Відповідей #2 : 2005-08-08 19:34:28 »
expression - вираз; statement - твердження.
проведу аналогію зі шкільною мовознавчою термінологією: вираз - словосполучення ("population++" - "зростання населення"); твердження - речення ("population++;" - "населення зростає"). Вираз може бути частиною твердження, але не навпаки.
« Змінено: 2005-08-08 19:35:05 від Kuzma »

Відсутній Сергій Кузьменко

  • Дописувач
  • **
  • дописів: 92
  • Карма: +0/-0
  • Ubuntu Linux
Re: Expression versus statement (переклад).
« Відповідей #3 : 2005-08-08 20:19:32 »
Власне, розрізнення між термінами "вираз" та "твердження" не завжди чітке. Якщо вдатися до наведеного вище прикладу, то у  result = foo(population++); population++ є фактично твердженням, вжитим у якості виразу. Справедливо вважається, що ця нечіткість є однією з вад дизайну мови C.