dalv_happy
@dalv_happy

С точки зрения лексем языка си минус это?

С точки зрения лексем языка си минус в первом и втором выражении это разные знаки?
Я разбиваю код си на токены и знак минус отношу к лексеме под названием "операциям".
1) int a = -1;
2) int a = 2-1;
Минус в том и другом случае это отдельная лексема? Если это так, то как сказать распознавателю, что -1 неделимая структура?
  • Вопрос задан
  • 289 просмотров
Решения вопроса 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Минус в том и другом случае это отдельная лексема?

Это одна и та же отдельная лексема, благодаря контексту превращающаяся в разные операторы.

Если это так, то как сказать распознавателю, что -1 неделимая структура?

-1 с точки зрения стандарта С -- это выражение: унарный минус применённый к константе, а не неделимая структура.
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
-1 это значит 0-1 ,это такая же операция как и в любом другом случае, просто в данной записи нет уменьшаемого
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Mrrl
@Mrrl
Заводчик кардиганов
Придётся научить распознаватель выполнять операции над константами. Тогда и -1, и 2-1 будут константами, вычисленными на этапе компиляции, а (-x) и x-1 - результатом применения различных операций "минус" (которые не обязаны быть как-то связаны между собой).
Ответ написан
Комментировать
RiseOfDeath
@RiseOfDeath
Диванный эксперт.
С точки зрения языка это два разных оператора:
Унарный минус и бинарный минус.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы