Декораторы:
Метаклассы:
Асинхронное программирование:
async
и await
.Стандартная библиотека:
Интерфейсы командной строки:
Инструменты разработки:
Документация и тестирование:
Эти функции позволяют Mulan быть полноценным языком программирования, который можно использовать для решения широкого спектра задач, аналогично Python.
Да, это именно тот Mulan.В январе 2020 года я был первым, кто задал вопрос на Zhihu «Что особенного в языке программирования «Mulan»?», вот мой личный опыт того времени.## ЦельДо завершения вознаграждения, будем стремиться к цели воссоздания языка программирования «Мулан». Серия технических статей собрана в колонке Zhihu и OpenChina (ожидается синхронизация), некоторые статьи были опубликованы на форуме отечественных языков MuLan.
Плагин синтаксического выделения для VS Code:
$ 木兰 测试/手工测试/命令行.ul
запускает игру Угадай число
.
В интерактивной среде выводится краткая информация о местоположении ошибки:
> func a(n) { return n1+1 }
> func b(n) { print(n) }
> b(a(2))
😰 Пожалуйста, сначала определите 'n1', прежде чем использовать, см. строку 1
При запуске исходного кода видна подробная информация о вызовах различных уровней. Если ошибка происходит в другом файле, видно имя файла:```terminal $ 木兰 测试/错误处理/引用模块.ul 😰 При попытке получить элемент списка, индекс выходит за пределы диапазона «测试/错误处理/下标越界函数.ul»第2行:print([][0]) Стек вызовов следующий См. строку 3: a()
Среди них [полезные](https://gitee.com/MulanRevive/mulan-rework/tree/master/测试/实用) примеры ближе к практическому применению. Кроме того, [редактор кода MuLan](https://gitee.com/MulanRevive/ulang-ide) также написан на MuLan.
Все примеры программ демонстрируют синтаксис, который можно проверить с помощью оригинального исполняемого файла MuLan [ulang-0.2.2.exe](https://gitee.com/MulanRevive/bounty/tree/master/%E5%8E%9F%E5%A7%8B%E8%B5%84%E6%96%99/%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6). ***Если обнаружены какие-либо различия, пожалуйста, сообщите, [долгосрочное вознаграждение здесь](https://gitee.com/MulanRevive/mulan-rework/issues/I6B8GO).***
## Функциональное описание
С постепенным сокращением [разрыва с оригинальной Мулан](https://gitee.com/MulanRevive/mulan-rework/issues/I1SEU5), будет улучшена [синтаксическая документация](документация/синтаксическая_документация.md). Пользовательское руководство [ещё требует обновления](https://gitee.com/MulanRevive/mulan-rework/issues/I1U36D). Для удобства отладки сообщения об ошибках и другая обратная связь будут [постепенно локализованы на китайский](https://zhuanlan.zhihu.com/p/148065426).
### Пробная версия
***Требуется Python 3.7 ~ 3.12, исходные файлы должны быть в кодировке UTF-8***, `pip install ulang` для установки Мулан.
### Командная строка
```terminal
$ 木兰
木兰向您问好
Больше информации скажите 'привет'
> 和 = 0
> for 数 in 1..10 {
>> 和 += 数
>> }
> 和
55
Функциональное описание здесь.### Онлайн-среда Binder
New -> Terminal для открытия командной строки, затем введите "木兰" для запуска.
Отсутствие опыта программирования не проблема, начните здесь.
Исходный код Мулан преобразуется в промежуточное представление Python (AST) и выполняется, что позволяет реализовать различные синтаксические конструкции и дополнительные функции, а также легко использовать существующую экосистему Python.
Новичкам в разработке рекомендуется ознакомиться с процессом разработки и структурой проекта.
Используйте последнюю минорную версию Python 3.7 ~ 3.12. Все тесты успешно проходят на Mac, Linux и Windows.
Для повышения эффективности разработки и поддержки в проекте по возможности используются китайские идентификаторы, включая синтаксические правила и Python-код.
Мулан использует следующие сторонние пакеты Python:
$ python -m 木兰
木兰向您问好
Больше информации скажите '你好'
>
python -m unittest тест.unittest.взаимодействие тест.unittest.синтаксическое_дерево тест.unittest.все_случаи тест.unittest.ошибки тест.unittest.Python_к_Мулан
Для проверки соответствия функциональности оригинального исполняемого файла Мулан, на Windows необходимо поместить ulang-0.2.2.exe в корневой каталог проекта.### Тестирование синтаксиса
Для тестирования синтаксиса на системах Windows используется исходный исполняемый файл ulang-0.2.2.exe
, а на других системах используется Мулан
, установленный через Python:
python тест/запуск_всего.py
Для тестирования генерации исходного кода:
python -m unittest тест.unittest.исходный_исполняемый_файл
Для тестирования конвертации исходного кода MuLan в Python:
python -m unittest тест.unittest.Мулан_к_Питон
GNU GPLv3
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )