В настоящее время я занимаюсь разработкой и реализацией небольшого языка программирования в качестве внекредитного проекта в классе, который я посещаю. Моя проблема в том, что язык имеет три числовых типа: Long, Double и Fraction. Дроби могут быть написаны на языке как правильные или неправильные дроби (например, «2 1/3» или «1/2»). Этот факт приводит к тому, что лексер неправильно обрабатывает такие проблемы, как «2 / 3,5» (длинный / двойной) и «2/3» (длинный / длинный). Лучшее решение, которое я вижу, - это смена оператора деления. Пока что я думаю, что "\" - лучшее решение, так как "//" начинает комментарии.
Вы бы выбрали "\", если бы разрабатывали язык?
Вы бы выбрали что-нибудь еще? Если да, то?
Примечание: изменение способа записи дробей невозможно.
Заранее спасибо за помощь,
-EDIT-
Текущие операторы:
**
(мощность)
*
(умножить)
%
(модуль)
+
(добавить)
-
(вычитание и отрицание)
~
(взаимно)
!
(НЕ)
>
(больше)
<
(меньше)
>=
(больше-равно)
<=
(менее равно)
==
(равенство)
<>
(неравенство)
&
(И)
|
(ИЛИ)
^
(XOR)
??
(без объединения)
=
(назначение)
Примечание: мой учитель не предъявляет никаких строго обязательных требований; Тем не менее, я в основном убедил его, что я могу превратить простой калькулятор фракций в язык. Изменение синтаксиса дроби идет вразрез с синтаксисом калькулятора дробей для дробей, которого желательно избегать.