Не удается выполнить перевод с Dafny на Python с использованием рекомендованной «dafny build --target:py A.dfy»

Я пытаюсь использовать компилятор 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, а не в терминале, поэтому, возможно, мне не хватает какой-то библиотеки или чего-то еще.

Может проблема в версии? С v3.10.0 с github.com/dafny-lang/dafny/releases/tag/v3.10.0 у меня работает синтаксис с build --target:py A.dfy, а также альтернатива ./dafny translate --target py A.dfy

Marijn 13.01.2023 10:53

Привет, спасибо за ответ! Я только что сделал dafny /version и увидел, что моя версия Dafny 3.3.0.31104, как мне ее обновить? У вас сейчас, если это также влияет на версию в Visual Studio?

Theo Deep 13.01.2023 11:07

Я не совсем уверен, как это работает в Windows (сам использую Linux), но я думаю, что вы можете просто скачать бинарные файлы для Windows с github.com/dafny-lang/dafny/releases/download/v3.10.0/… , извлеките файлы в какую-нибудь папку и запустите оттуда Dafny (что я и сделал для Linux, и это сработало). Для интеграции с Visual Studio вам, вероятно, следует изменить свойства вашего проекта Dafny в Visual Studio, чтобы изменить путь компилятора к вашей новой установке.

Marijn 13.01.2023 12:05

Действительно, я использую Mac, так что я думаю, что это ближе к подходу в Linux, не так ли? Я подумал, что мог бы использовать что-то вроде 'Dafny /update' или что-то в этом роде.. Могу ли я сделать следующее? Я буду продолжать использовать Visual Studio с предыдущими версиями (чтобы ничего не сломать), а эти 3.10 бинарники буду загружать в новую папку «NewDafny». Затем я перемещу те файлы (сделанные с помощью Visual Studio), которые имеют расширение .dfy и которые я хочу перевести на Python, в «NewDafny» и посмотрю, работает ли там команда. Имеет ли это смысл?

Theo Deep 13.01.2023 12:15

Я думаю, это имеет смысл - однако нет риска сломать Visual Studio, если вы измените свойства проекта и все больше не работает, вы просто вернете свойствам их прежние значения.

Marijn 13.01.2023 12:46

Большое спасибо за информацию!! Я попробую это и вернусь, если. Последний вопрос: я пытаюсь найти двоичные файлы, подобные тем, которые вы предложили по ссылке, но я не могу найти их для 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 и т. д.

Theo Deep 13.01.2023 13:20

В нижней части страницы, на которую я ссылался ранее (github.com/dafny-lang/dafny/releases/tag/v3.10.0), перечислены две версии Mac, arm64-osx и x64-osx, вы должны выбрать тот, который соответствует вашему процессору.

Marijn 13.01.2023 13:55

Еще раз спасибо! Сейчас я пытаюсь его протестировать, но получаю сообщение, что «Apple не может проверить его на наличие вредоносного программного обеспечения». Вернусь, как только протестирую!

Theo Deep 13.01.2023 14:25
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ни новый интерфейс командной строки, ни компилятор 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. Есть идеи?

Theo Deep 16.01.2023 16:18

Действительно, я вижу присланный вами путь и вижу: ../.vscode/extensions/dafny-lang.ide-vscode-2.5.0/..

Theo Deep 16.01.2023 16:24

У вас установлена ​​последняя версия VS Code?

user14704889 17.01.2023 17:03

Я думаю, что нет, но в настоящее время у меня есть некоторые проблемы с VS Code, так что, возможно, это другая проблема. файлы из одного .dfy, и самым интересным кажется "модуль..." У меня будет несколько вопросов об этом сейчас в другом посте, хе-хе, большое спасибо!

Theo Deep 17.01.2023 17:20

Другие вопросы по теме