Готово, скачайте теперь.
Теперь от имени администратора работает Спасибо!
Но всё равно напрягает то, что для запуска требуется именно админ. Стандартный установщик ведь не требует особых прав.
Скорее всего, это потому - что я использовал папку %TEMP%. Ту что можно получить через System.IO.Path.GetTempPath
. Туда сохраняет скачанный установщик и то что получается после его распаковки.
Видите ли, если сохранять на D:\
- копирование распакованных данных будет дольше (потому что между дисками). А какую ещё папку использовать как временную - не знаю.
Ну, в общем то, чтоб узнать для чего именно просит права админа - запустите без них и посмотрите к каким файлам не получится применить какое действие.
- cкоросной --> cкоросТной
- “для каличной”? Бамбармия кергуду? Сергей, что это за слово такое басурманское?
- “для паскаляABC.NET” – почему уж тогда не паскаляАБЦ.нет?
А описание я на
Скоростной велосипед для (возможно, кривой) установки паскаляABC.NET
поменял в общем. Так ведь понятно?
А интересно, разработчики или ещё кто пробовали написать на паскале компилятор? Это был бы уже достаточно серьёзный проект, показывающий возможности языка.
Разработчики и так знают возможности языка, а писать на нем компилятор лишь чтобы кому-то “показать” - далеко не лучшая трата сил и времени. Вот если “еще кто-то” попробует написать - совсем другое дело.
Не знаю, считается ли, но у меня есть скриптовый кликер. В него забиваешь скрипт из команд, и он выполняет. Но старая версия всё на ходу компилирует, я вот сейчас как раз делаю версию получше.
Компилятор? ВМ?
Ну, я же правильно понимаю, компилятор - это то, что превращает текст во что то исполняемое? Вот мой превращает текст во внутренние структуры и вызывает для них метод выполнения.
Можете описать синтаксис языка?
Выполнение скрипта - это скорее интерпретатор. Но тем не менее, интересно посмотреть было бы.
Ну, я ещё поменяю немного, но основной смысл такой:
файл 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"
Не совсем так. Компилятор преобразует весь исходный код программы в код на Ассемблере, машинный код или код ВМ для последующего хранения и возможности запуска на целевой машине. Если он просто выполняет программу по строкам, то это - интерпретатор. А вообще, интересно было бы взглянуть на реализацию, как парсер устроен, структура языка…
Сделал учебный образец транслятора с pas на CIL. Ну так быстро, конечно что-то полноценное сделать было нельзя, поэтому транслятор транслирует только объявления некоторых переменных и вызов опять же некоторых функций. Но тем не менее некие общие принципы работы компилятора на .NET можно увидеть. Ссылка
Ээ нуу… Это конечно интересно, но ведь PascalABC.Net
уже делает это, при чём полноценно. Полученный IL-код можно посмотреть любым декомпилятором для C#, я использую DotPeek.
Но вот разобраться в его исходниках могут только избранные