1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/MulanRevive-mulan-rework

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md
  1. Декораторы:

    • Поддержка декораторов для модификации поведения функций и методов.
  2. Метаклассы:

    • Поддержка метаклассов для управления созданием классов.
  3. Асинхронное программирование:

    • Поддержка асинхронных функций с использованием ключевых слов async и await.
  4. Стандартная библиотека:

    • Поддержка большей части стандартной библиотеки Python, включая модули для работы с файлами, сетью, регулярными выражениями и т.д.
  5. Интерфейсы командной строки:

    • Поддержка создания скриптов и программ с интерфейсом командной строки.
  6. Инструменты разработки:

    • Интеграция с популярными инструментами разработки, такими как IDE, отладчики и системы контроля версий.
  7. Документация и тестирование:

    • Поддержка создания документации с использованием docstrings.
    • Поддержка юнит-тестов и других методов тестирования.

Эти функции позволяют Mulan быть полноценным языком программирования, который можно использовать для решения широкого спектра задач, аналогично Python.

Mulan онлайн версия Все тесты

Введение

Да, это именно тот Mulan.В январе 2020 года я был первым, кто задал вопрос на Zhihu «Что особенного в языке программирования «Mulan»?», вот мой личный опыт того времени.## ЦельДо завершения вознаграждения, будем стремиться к цели воссоздания языка программирования «Мулан». Серия технических статей собрана в колонке Zhihu и OpenChina (ожидается синхронизация), некоторые статьи были опубликованы на форуме отечественных языков MuLan.

Поддержка IDE

Плагин синтаксического выделения для VS Code:

Скриншот VS Code

Прототип онлайн-редактора:

Скриншот встроенного IDE

Запуск исходных файлов MuLan

$ 木兰 测试/手工测试/命令行.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 木兰
木兰向您问好
Больше информации скажите '你好'
>

Выполнение тестов1. Воспроизведение собственных тестов проекта

python -m unittest тест.unittest.взаимодействие тест.unittest.синтаксическое_дерево тест.unittest.все_случаи тест.unittest.ошибки тест.unittest.Python_к_Мулан
  1. Тестирование исполняемого файла оригинальной Мулан

Для проверки соответствия функциональности оригинального исполняемого файла Мулан, на Windows необходимо поместить ulang-0.2.2.exe в корневой каталог проекта.### Тестирование синтаксиса

Для тестирования синтаксиса на системах Windows используется исходный исполняемый файл ulang-0.2.2.exe, а на других системах используется Мулан, установленный через Python:

python тест/запуск_всего.py

Тестирование генерации исходного кода

Для тестирования генерации исходного кода:

python -m unittest тест.unittest.исходный_исполняемый_файл

Тестирование конвертации исходного кода MuLan в Python

Для тестирования конвертации исходного кода MuLan в Python:

python -m unittest тест.unittest.Мулан_к_Питон

Лицензия

GNU GPLv3

История версий

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-3.0
Отмена

Обновления (3)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/MulanRevive-mulan-rework.git
git@api.gitlife.ru:oschina-mirror/MulanRevive-mulan-rework.git
oschina-mirror
MulanRevive-mulan-rework
MulanRevive-mulan-rework
master