Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2014, 21:47
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Что такое Expression в ECMAScript?
Кто-нибудь на форуме может ответить, что такое Expression с точки зрения спецификации?

http://www.ecma-international.org/ecma-262/5.1/
http://es5.javascript.ru/
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2014, 22:07
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Это с любой точки зрения всегда одно и то же -- выражение. Может ты имеешь в виду Function Expression?
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2014, 23:43
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от krutoy
Это с любой точки зрения всегда одно и то же -- выражение. Может ты имеешь в виду Function Expression?
нет, я имею в виду, где его грамматическое определение в спецификации, хотя бы описание по старинке - словами в предложении

например, есть определение для PrimaryExpression
http://es5.javascript.ru/x11.html#x11.1
Цитата:
PrimaryExpression :
this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )
перевожу: PrimaryExpression представляет собой либо this, либо Identifier, ..., либо последовательность, состоящую из левой круглой скобки, Expression и правой круглой скобки

далее есть, например, определение для Literal
http://es5.javascript.ru/x7.html#x7.8
Цитата:
Literal ::
NullLiteral
BooleanLiteral
NumericLiteral
StringLiteral
RegularExpressionLiteral
далее, есть, например, определение NullLiteral
Цитата:
NullLiteral ::
null
то есть мы полностью прошли цепочку, вплоть до символов, которые мы пишем в исходном коде

но что такое Expression?
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2014, 23:47
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Если утрировать: то что можно записать в одну строку без точки с запятой.)
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2014, 00:05
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Aetae
Если утрировать: то что можно записать в одну строку без точки с запятой.)
хорошо, допустим
Цитата:
Expression::
то что можно записать в одну строку без точки с запятой
можешь ткнуть носом, где об этом написано в спецификации, или как ты пришёл к такому выводу?
Ответить с цитированием
  #6 (permalink)  
Старый 29.11.2014, 00:08
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

bes,
Тебе надо не спеки читать, а литературу по основам программирования.
Ответить с цитированием
  #7 (permalink)  
Старый 29.11.2014, 00:19
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от krutoy
bes,
Тебе надо не спеки читать, а литературу по основам программирования.
ерунду не говори, спецификация eсmascript - строгий документ, в котором используются, в частности, контекстно-свободные грамматики, это означает, что любой нетерминал можно свести к последовательности терминалов, так как именно их совокупность передаётся на вход транслятору

http://es5.javascript.ru/x5.html#x5.1.1
Цитата:
Начиная с предложения, состоящего из одиночного помеченного нетерминала – начального символа, данная КС грамматика определяет язык, а именно – ряд (возможно, бесконечный) допустимых последовательностей терминальных символов, которые могут получиться в результате неоднократной замены какого-либо нетерминала в этой последовательности на символы, указанные в правой стороне правила, для которого этот нетерминал является левой частью.
если нет строгого определения, должно быть произвольное описание
если в данном случае это забыли сделать, то будет понятно


Сообщение от Aetae
Если утрировать: то что можно записать в одну строку без точки с запятой.)
а что можно записать в одну строку без точки с запятой?
именно это и определяется в спецификации: что можно, а что нельзя

Последний раз редактировалось bes, 29.11.2014 в 00:23.
Ответить с цитированием
  #8 (permalink)  
Старый 29.11.2014, 00:21
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Aetae,
На самом деле, Ваше определение не совсем корректно, даже, я бы сказал, совсем некорректно. Выражение -- это минимальная семантическая единица, все таки. Например, func(foo) содержит несколько подвыражений, которые разбираются отдельно.
Ответить с цитированием
  #9 (permalink)  
Старый 29.11.2014, 00:25
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от bes
строгий документ, в котором используются, в частности, контекстно-свободные грамматики
Где используются, в документе? LOL
Ответить с цитированием
  #10 (permalink)  
Старый 29.11.2014, 00:29
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от krutoy
Где используются, в документе? LOL
поясни или ты опять на своей волне
грамматика - это способ описания языка, где используется - не в пивнухе же
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое, кто такой. Nemo. Antonius Оффтопик 9 22.12.2013 01:42
Что такое *!* и getFunc()() PashPP Общие вопросы Javascript 5 06.08.2012 20:53
Что такое callback? Questioner Общие вопросы Javascript 1 16.05.2012 21:58
Что такое "клиентская библиотека"? jsuse Общие вопросы Javascript 3 27.04.2012 01:50
Что такое "javascript:document.login.submit()" i_live_in_Moscow Общие вопросы Javascript 21 30.09.2008 15:25