Я пытаюсь использовать компилятор Dafny-to-Python, который предлагается в справочнике Dafny (25.7.7): http://dafny.org/dafny/DafnyRef/DafnyRef.html#2577-python
Однако я не могу запустить для него первый шаг в терминале: dafny build --target:py A.dfy
, так как получаю ошибку: Dafny: Error: unknown switch: --target
. Я использую Use /help for available options
, как они предлагают, но понятия не имею, как решить.
На всякий случай я также попытался использовать старую версию команды (см. 25.8.11. в той же ссылке): dafny Hello.dfy -compileTarget:py
но потом получил сообщение Dafny: Error: Invalid argument "py" to option compileTarget
.
Есть идеи? Обратите внимание, что сами авторы ясно заявляют, что компилятор Dafny-to-Python все еще находится в стадии разработки.
PS: я обычно использую Dafny в Visual Studio, а не в терминале, поэтому, возможно, мне не хватает какой-то библиотеки или чего-то еще.
Привет, спасибо за ответ! Я только что сделал dafny /version
и увидел, что моя версия Dafny 3.3.0.31104
, как мне ее обновить? У вас сейчас, если это также влияет на версию в Visual Studio?
Я не совсем уверен, как это работает в Windows (сам использую Linux), но я думаю, что вы можете просто скачать бинарные файлы для Windows с github.com/dafny-lang/dafny/releases/download/v3.10.0/… , извлеките файлы в какую-нибудь папку и запустите оттуда Dafny (что я и сделал для Linux, и это сработало). Для интеграции с Visual Studio вам, вероятно, следует изменить свойства вашего проекта Dafny в Visual Studio, чтобы изменить путь компилятора к вашей новой установке.
Действительно, я использую Mac, так что я думаю, что это ближе к подходу в Linux, не так ли? Я подумал, что мог бы использовать что-то вроде 'Dafny /update'
или что-то в этом роде.. Могу ли я сделать следующее? Я буду продолжать использовать Visual Studio с предыдущими версиями (чтобы ничего не сломать), а эти 3.10
бинарники буду загружать в новую папку «NewDafny». Затем я перемещу те файлы (сделанные с помощью Visual Studio), которые имеют расширение .dfy
и которые я хочу перевести на Python, в «NewDafny» и посмотрю, работает ли там команда. Имеет ли это смысл?
Я думаю, это имеет смысл - однако нет риска сломать Visual Studio, если вы измените свойства проекта и все больше не работает, вы просто вернете свойствам их прежние значения.
Большое спасибо за информацию!! Я попробую это и вернусь, если. Последний вопрос: я пытаюсь найти двоичные файлы, подобные тем, которые вы предложили по ссылке, но я не могу найти их для Mac, у вас есть идея? Я уже пробовал github.com/dafny-lang/dafny/releases/download/v3.10.0/… и github.com/dafny-lang/dafny/releases/download/v3.10.0/… и ️ 🔁 github.com/dafny-lang/dafny/releases/download/v3.10.0 и т. д.
В нижней части страницы, на которую я ссылался ранее (github.com/dafny-lang/dafny/releases/tag/v3.10.0), перечислены две версии Mac, arm64-osx и x64-osx, вы должны выбрать тот, который соответствует вашему процессору.
Еще раз спасибо! Сейчас я пытаюсь его протестировать, но получаю сообщение, что «Apple не может проверить его на наличие вредоносного программного обеспечения». Вернусь, как только протестирую!
Ни новый интерфейс командной строки, ни компилятор Python не поддерживаются очень устаревшей версией Dafny, которую вы используете. Вероятно, вы не используете правильное расширение VS Code, поэтому я бы начал с него. На сегодняшний день это должно установить 3.10.0 в /Users/$USER/.vscode/extensions/dafny-lang.ide-vscode-3.0.3/out/resources/3.10.0/github/dafny/Dafny.dll
. Чтобы узнать, как использовать dll, попробуйте нажать F5
с файлом Dafny, открытым в VS Code. На сегодняшний день компилятор Python завершен и проходит все тесты.
Привет, спасибо за ответ. Я пытаюсь установить эту версию внутри VS Code, но не могу, я удаляю и устанавливаю по присланной вами ссылке, но мой Dafny остается на версии 2.5.0. Есть идеи?
Действительно, я вижу присланный вами путь и вижу: ../.vscode/extensions/dafny-lang.ide-vscode-2.5.0/..
У вас установлена последняя версия VS Code?
Я думаю, что нет, но в настоящее время у меня есть некоторые проблемы с VS Code, так что, возможно, это другая проблема. файлы из одного .dfy, и самым интересным кажется "модуль..." У меня будет несколько вопросов об этом сейчас в другом посте, хе-хе, большое спасибо!
Может проблема в версии? С v3.10.0 с github.com/dafny-lang/dafny/releases/tag/v3.10.0 у меня работает синтаксис с
build --target:py A.dfy
, а также альтернатива./dafny translate --target py A.dfy