Clarion - ограничения максимальной длины идентификаторов

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Developer
Ветеран
Сообщения: 421
Зарегистрирован: 26 Март 2012, 16:18

Clarion - ограничения максимальной длины идентификаторов

Сообщение Developer » 10 Июль 2018, 16:00

Clarion - ограничения максимальной длины идентификаторов?

Где найти официальную информацию?
С Уважением, Developer

kreator
Ветеран
Сообщения: 2955
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Clarion - ограничения максимальной длины идентификаторов

Сообщение kreator » 10 Июль 2018, 18:11

Во всяком случае, в десятом у меня есть идентификаторы больше 32 символов (правда латиницей). Следующий предел 64 символа. Но пока до такого не дошёл.
We are hard at work… for you. :)

Developer
Ветеран
Сообщения: 421
Зарегистрирован: 26 Март 2012, 16:18

Clarion - ограничения максимальной длины идентификаторов

Сообщение Developer » 10 Июль 2018, 18:45

kreator писал(а):
10 Июль 2018, 18:11
Во всяком случае, в десятом у меня есть идентификаторы больше 32 символов (правда латиницей). Следующий предел 64 символа. Но пока до такого не дошёл.
Это всё практика - а вот где официальная документированная информация?
С Уважением, Developer

kreator
Ветеран
Сообщения: 2955
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Clarion - ограничения максимальной длины идентификаторов

Сообщение kreator » 10 Июль 2018, 18:59

Вот:

Код: Выделить всё

The language statements in a source module can be divided into two general categories: data declarations and executable statements, or simply "data" and "code."
During program execution, data declarations reserve memory storage areas that are manipulated by executable statements. A label is required for the data to be referenced in executable code. All variables, data structures, PROCEDUREs, and ROUTINEs are referenced by labels.
A label defines a specific location in a PROGRAM. Any code statement may be identified and referenced by a label. This allows it to be used as the target of a GOTO statement. Each label on an executable statement adds ten bytes to the executable code size, even if not referenced.
The label on a PROCEDURE statement is the procedure's name. Using the label of a PROCEDURE in an executable statement executes the procedure, or in expressions, or parameter lists of other procedures, assigns the value returned by the procedure.
The rules for valid Clarion labels are:
· A label MUST begin in column one (1) of the source code. 
· A label may contain letters (upper or lower case), numerals 0 through 9, the underscore character (_), and colon (:). 
· The first character must be a letter or the underscore character. 
· Labels are not case sensitive (i.e. CurRent and CURRENT are the same). 
· A label may not be a reserved word. 
· A period (.) is valid in a label for procedures defined in a CLASS structure in the form ClassLabel.MethodLabel 
О размере ничего не говорится. Видимо, подразумевается, что килобайтами программеры их делать не будут :mrgreen: .
We are hard at work… for you. :)

Developer
Ветеран
Сообщения: 421
Зарегистрирован: 26 Март 2012, 16:18

Clarion - ограничения максимальной длины идентификаторов

Сообщение Developer » 10 Июль 2018, 19:27

Kreator, спасибо за интерес и отклик - неужели нет официального документа о наименовании идентификаторов и их размерах?

Просто как я заметил из практики - превышение размера длины наименования идентификатора одна из причин появления Clarion Internal Compiler Error - поэтому для исключения причины этой ошибки необходимо точно знать об ограничениях в наименовании идентификаторов.
С Уважением, Developer

Ответить