Сообщение [ksi] Синтаксис диапазонов -- тип range от 30.01.2022 21:34
Изменено 30.01.2022 21:38 Sm0ke
[ksi] Синтаксис диапазонов -- тип range
Разрабатываю свой язык, потому что хочу и свободное время позволяет. Добрый день.
Помогите пожалуйста подобрать конструкцию для диапазонов значений. Диапазон может быть как открытый, так и закрытый, и с обоих концов. Дополнительно он хранит шаг, который по_умолчанию равен 1. Если нижняя граница не указана, то она равна 0.
Пока остановился на таком варианте:
* Однострочный комментарий начинается с последовательности минус минус --
Использовать просто [1 .. 2] не могу, т:к просто квадратные скобочки будут использованы для массивов.
Вот ещё вариант:
Но тут подсветка парных скобок в текстовых редакторах не всегда сможет работать правильно.
С удовольствием рассмотрю ваши варианты.
Помогите пожалуйста подобрать конструкцию для диапазонов значений. Диапазон может быть как открытый, так и закрытый, и с обоих концов. Дополнительно он хранит шаг, который по_умолчанию равен 1. Если нижняя граница не указана, то она равна 0.
Пока остановился на таком варианте:
-- нижняя граница включена
[: 8] -- [0 .. 8) step 1
[: 8 : 2] -- [0 .. 8) step 2
[: 4 .. 8] -- [4 .. 8) step 1
[: 4 .. 8 : 2] -- [4 .. 8) step 2
[: 8 =] -- [0 .. 8] step 1
[: 8 =: 2] -- [0 .. 8] step 2
[: 4 .. 8 =] -- [4 .. 8] step 1
[: 4 .. 8 =: 2] -- [4 .. 8] step 2
-- нижняя граница открыта
[:: 8] -- (0 .. 8) step 1
[:: 8 : 2] -- (0 .. 8) step 2
[:: 4 .. 8] -- (4 .. 8) step 1
[:: 4 .. 8 : 2] -- (4 .. 8) step 2
[:: 8 =] -- (0 .. 8] step 1
[:: 8 =: 2] -- (0 .. 8] step 2
[:: 4 .. 8 =] -- (4 .. 8] step 1
[:: 4 .. 8 =: 2] -- (4 .. 8] step 2* Однострочный комментарий начинается с последовательности минус минус --
Использовать просто [1 .. 2] не могу, т:к просто квадратные скобочки будут использованы для массивов.
Вот ещё вариант:
Но тут подсветка парных скобок в текстовых редакторах не всегда сможет работать правильно.
[: 8) -- [0 .. 8) step 1
[: 8 : 2) -- [0 .. 8) step 2
[: 4 .. 8) -- [4 .. 8) step 1
[: 4 .. 8 : 2) -- [4 .. 8) step 2
[: 8] -- [0 .. 8] step 1
[: 8 : 2] -- [0 .. 8] step 2
[: 4 .. 8] -- [4 .. 8] step 1
[: 4 .. 8 : 2] -- [4 .. 8] step 2
(: 8) -- (0 .. 8) step 1
(: 8 : 2) -- (0 .. 8) step 2
(: 4 .. 8) -- (4 .. 8) step 1
(: 4 .. 8 : 2) -- (4 .. 8) step 2
(: 8] -- (0 .. 8] step 1
(: 8 : 2] -- (0 .. 8] step 2
(: 4 .. 8] -- (4 .. 8] step 1
(: 4 .. 8 : 2] -- (4 .. 8] step 2С удовольствием рассмотрю ваши варианты.
[ksi] Синтаксис диапазонов -- тип range
Разрабатываю свой язык, потому что хочу и свободное время позволяет. Добрый день.
Помогите пожалуйста подобрать конструкцию для диапазонов значений. Диапазон может быть как открытый, так и закрытый, и с обоих концов. Дополнительно он хранит шаг, который по_умолчанию равен 1. Если нижняя граница не указана, то она равна 0.
Пока остановился на таком варианте:
* Однострочный комментарий начинается с последовательности минус минус --
Использовать просто [1 .. 2] не могу, т:к просто квадратные скобочки будут использованы для массивов.
Вот ещё вариант:
Но тут подсветка парных скобок в текстовых редакторах не всегда сможет работать правильно.
С удовольствием рассмотрю ваши варианты.
Помогите пожалуйста подобрать конструкцию для диапазонов значений. Диапазон может быть как открытый, так и закрытый, и с обоих концов. Дополнительно он хранит шаг, который по_умолчанию равен 1. Если нижняя граница не указана, то она равна 0.
Пока остановился на таком варианте:
-- нижняя граница включена
[: 8] -- [0 .. 8) step 1
[: 8 : 2] -- [0 .. 8) step 2
[: 4 .. 8] -- [4 .. 8) step 1
[: 4 .. 8 : 2] -- [4 .. 8) step 2
[: 8 =] -- [0 .. 8] step 1
[: 8 =: 2] -- [0 .. 8] step 2
[: 4 .. 8 =] -- [4 .. 8] step 1
[: 4 .. 8 =: 2] -- [4 .. 8] step 2
-- нижняя граница открыта
[:: 8] -- (0 .. 8) step 1
[:: 8 : 2] -- (0 .. 8) step 2
[:: 4 .. 8] -- (4 .. 8) step 1
[:: 4 .. 8 : 2] -- (4 .. 8) step 2
[:: 8 =] -- (0 .. 8] step 1
[:: 8 =: 2] -- (0 .. 8] step 2
[:: 4 .. 8 =] -- (4 .. 8] step 1
[:: 4 .. 8 =: 2] -- (4 .. 8] step 2* Однострочный комментарий начинается с последовательности минус минус --
Использовать просто [1 .. 2] не могу, т:к просто квадратные скобочки будут использованы для массивов.
Вот ещё вариант:
Но тут подсветка парных скобок в текстовых редакторах не всегда сможет работать правильно.
[: 8) -- [0 .. 8) step 1
[: 8 : 2) -- [0 .. 8) step 2
[: 4 .. 8) -- [4 .. 8) step 1
[: 4 .. 8 : 2) -- [4 .. 8) step 2
[: 8] -- [0 .. 8] step 1
[: 8 : 2] -- [0 .. 8] step 2
[: 4 .. 8] -- [4 .. 8] step 1
[: 4 .. 8 : 2] -- [4 .. 8] step 2
(: 8) -- (0 .. 8) step 1
(: 8 : 2) -- (0 .. 8) step 2
(: 4 .. 8) -- (4 .. 8) step 1
(: 4 .. 8 : 2) -- (4 .. 8) step 2
(: 8] -- (0 .. 8] step 1
(: 8 : 2] -- (0 .. 8] step 2
(: 4 .. 8] -- (4 .. 8] step 1
(: 4 .. 8 : 2] -- (4 .. 8] step 2С удовольствием рассмотрю ваши варианты.