Проекты на PascalABC.NET

Готово, скачайте теперь.

Теперь от имени администратора работает :slight_smile: Спасибо!

2 лайка

Но всё равно напрягает то, что для запуска требуется именно админ. Стандартный установщик ведь не требует особых прав.

Скорее всего, это потому - что я использовал папку %TEMP%. Ту что можно получить через System.IO.Path.GetTempPath. Туда сохраняет скачанный установщик и то что получается после его распаковки.

Видите ли, если сохранять на D:\ - копирование распакованных данных будет дольше (потому что между дисками). А какую ещё папку использовать как временную - не знаю.

Ну, в общем то, чтоб узнать для чего именно просит права админа - запустите без них и посмотрите к каким файлам не получится применить какое действие.

1 лайк
  1. cкоросной --> cкоросТной
  2. “для каличной”? Бамбармия кергуду? :slight_smile: Сергей, что это за слово такое басурманское?
  3. “для паскаляABC.NET” – почему уж тогда не паскаляАБЦ.нет?
1 лайк

25 сообщений перенесены в тему Болталка PascalABC.NET

А описание я на

Скоростной велосипед для (возможно, кривой) установки паскаляABC.NET

поменял в общем. Так ведь понятно?

А интересно, разработчики или ещё кто пробовали написать на паскале компилятор? Это был бы уже достаточно серьёзный проект, показывающий возможности языка.

Компилятор PascalABC.NET написан на C#, а это значит, что его можно переписать на PascalABC.NET.

Разработчики и так знают возможности языка, а писать на нем компилятор лишь чтобы кому-то “показать” - далеко не лучшая трата сил и времени. Вот если “еще кто-то” попробует написать - совсем другое дело.

Не знаю, считается ли, но у меня есть скриптовый кликер. В него забиваешь скрипт из команд, и он выполняет. Но старая версия всё на ходу компилирует, я вот сейчас как раз делаю версию получше.

1 лайк

Компилятор? ВМ?

Ну, я же правильно понимаю, компилятор - это то, что превращает текст во что то исполняемое? Вот мой превращает текст во внутренние структуры и вызывает для них метод выполнения.

Можете описать синтаксис языка?

Выполнение скрипта - это скорее интерпретатор. Но тем не менее, интересно посмотреть было бы.

Ну, я ещё поменяю немного, но основной смысл такой:

файл Main.sac:

k=Num("A")+5 //k присвоит номер кнопки F
Key k 1 //нажимает F на клавиатуре
Sleep 50 //Ждёт 50 миллисекунд
Key k 0 //отжимает F на клавиатуре
Sleep 50 //Ждёт 50 миллисекунд
Jump "Main.sac" //ставит точку выполнения в начало файла "Main.sac"
1 лайк

Не совсем так. Компилятор преобразует весь исходный код программы в код на Ассемблере, машинный код или код ВМ для последующего хранения и возможности запуска на целевой машине. Если он просто выполняет программу по строкам, то это - интерпретатор. А вообще, интересно было бы взглянуть на реализацию, как парсер устроен, структура языка…

Сделал учебный образец транслятора с pas на CIL. Ну так быстро, конечно что-то полноценное сделать было нельзя, поэтому транслятор транслирует только объявления некоторых переменных и вызов опять же некоторых функций. Но тем не менее некие общие принципы работы компилятора на .NET можно увидеть. Ссылка

Ээ нуу… Это конечно интересно, но ведь PascalABC.Net уже делает это, при чём полноценно. Полученный IL-код можно посмотреть любым декомпилятором для C#, я использую DotPeek.

Но вот разобраться в его исходниках могут только избранные :wink:

1 лайк