Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#46: 2012-03-11 20:54:39 ЛС | профиль | цитата
RinniX, если ты хочешь иметь возможность загрузать произвольный код (в т.ч. написанный человеком), то - боюсь - пупок развяжется такой анализатор написать.
карма: 1

0
Ответов: 1061
Рейтинг: 22
#47: 2012-03-11 20:58:17 ЛС | профиль | цитата
Tad писал(а):
а кто будет писать это "любой исходный код, любого языка программирования"??? Или будем его воровать в инете? А как же с авторскими правами ? А это наказуемо.

Где сам раздобудешь код, тот и будет! Вот ты где берёшь код? Я-же не собираюсь репозиторий всех на свете кодов хранить в нём! Это редактор, не более! А программа должна перевести любой код, любого языка программирования в графическое его представление! Типа Notepad++ только отображение кода не текстом, а графикой!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#48: 2012-03-11 21:00:40 ЛС | профиль | цитата
iarspider, главное кинуть идею. Сначала "Проект Alliance", теперь HuASM.
Чем бы дитя не тешилось,.....
Подними руку и резко опусти.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1061
Рейтинг: 22
#49: 2012-03-11 21:03:23 ЛС | профиль | цитата
iarspider писал(а):
RinniX, если ты хочешь иметь возможность загружать произвольный код (в т.ч. написанный человеком), то - боюсь - пупок развяжется такой анализатор написать.

У любого языка программирования есть свои правила, конструкции, это я не спорю, для каждого надо свой анализатор делать, это я думаю не так уж и сложно сделать! Начну с малого, там будем расти потихоньку!
карма: 0

0
Ответов: 5446
Рейтинг: 323
#50: 2012-03-11 21:03:55 ЛС | профиль | цитата
Tad писал(а):
Подними руку и закрой ей лицо.

*fixed
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#51: 2012-03-11 21:05:03 ЛС | профиль | цитата
RinniX писал(а):
Вот ты где берёшь код?
сам пишу.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1061
Рейтинг: 22
#52: 2012-03-11 21:06:24 ЛС | профиль | цитата
Tad писал(а):
iarspider, главное кинуть идею. Сначала "Проект Alliance", теперь HuASM.

Я лишь поделился идеей! И бросать я ничего не собираюсь! Параллельно буду делать!
------------ Дoбавленo в 21.06:
Tad писал(а):
сам пишу.

Вот и там будешь писать!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#53: 2012-03-11 21:12:05 ЛС | профиль | цитата
RinniX, делюсь идеей : С вечера наговариваешь в микрофон, что должна делать программа, ложишься спать и ... УРА! утром программа готова.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1429
Рейтинг: 50
#54: 2012-03-11 21:15:26 ЛС | профиль | цитата
[flood]RinniX, не, ну это уже черезчур, у меня другая, более простая, идея была[/flood]
карма: 0

0
Ответов: 1061
Рейтинг: 22
#55: 2012-03-11 21:19:00 ЛС | профиль | цитата
Tad писал(а):
С вечера наговариваешь в микрофон, что должна делать программа, ложишься спать и ... УРА! утром программа готова.

Ты хочешь со мной поделишься своей чудо программой, которая из голосовых команд делает нужный код? Даже не знаю как тебя потом благодарить!
------------ Дoбавленo в 21.19:
login писал(а):
RinniX, не, ну это уже черезчур, у меня другая, более простая, идея была

Конвертер в хиасм? Или другая идея? Поделись если не трудно!
карма: 0

0
Ответов: 4630
Рейтинг: 749
#56: 2012-03-12 19:09:27 ЛС | профиль | цитата
Представил себе, как будет работать подобный конвертер.

Вот как можно этот код превратить в кубики:

#pas
procedure BlaBlaBla;
var
txt:string; handle:HWND;
begin
txt := 'test-test-test';
handle := GetHandle; // GetHandle - какая-либо пользовательская функция
if handle <> 0 then
SetWindowText(handle, PChar(txt));
else
MessageBox(.....);
end;

Результат:

Так что можете приступать к написанию конвертера
карма: 26

0
файлы: 1codetohiasm.jpg [67.8KB] [745]
Ответов: 1429
Рейтинг: 50
#57: 2012-03-12 19:31:55 ЛС | профиль | цитата
Нет, он должен быть такой(всмысле должен быть выполнен на HiAsm):
сх4537.png

Но только с общим анализом и оптимизацией всего кода всей программы. (Какое-то многопроходное упорядочивание функций, для их вложения друг в друга, по результатами собранной статистики их вызова)
карма: 0

0
файлы: 1сх4537.png [9.2KB] [364]
Разработчик
Ответов: 26158
Рейтинг: 2127
#58: 2012-03-12 19:36:12 ЛС | профиль | цитата
Я еще одного не пойму -- как это дело запустить для любого языка Схему же надо обратно в код преобразовать и иметь компилятор для каждого ЯВУ, а значит нужен кодогенератор. Короче, получается, что сначала мы должны будем преобразовать текстовый код в скрипт по типу RTCG, а уж потом скрипт разложить в кубики. Мдааа... Я не завидую тем, кто за это возьмется
------------ Дoбавленo в 19.36:
login писал(а):
Какое-то многопроходное упорядочивание функций, для их вложения друг в друга, по результатами собранной статистики их вызова

Вопрос -- кто это делать будет
У вас что, есть огромный опыт в построении таких систем, как построение дерева многопроходной компиляции
карма: 22

0
Ответов: 1429
Рейтинг: 50
#59: 2012-03-12 19:41:15 ЛС | профиль | цитата
nesco, когда-то я поработал аналитиком. так мы и более сложные вещи анализировали своим отделом, но только это было не не программирование а рыночная статистика. Задачка выглядит проще чем те, которые ставили себе наши специалисты тогда. Делать понятное дело не кому. Но если еще долго жив буду, то может когда-то и осилю

К слову.
Стат-анализ, проведенный заранее, может даже позволять мягкую настройку, вроде ползунков на интерфейсе конвертера. Типа "степень упаковки в мультики", "коэффициент вертикального и горизонтельного ориентирования схем", " выбор различных стилей отображения, {обьектно, линейно, стиль леонид, стиль nesco} и т. д."
карма: 0

0
Ответов: 1061
Рейтинг: 22
#60: 2012-03-12 20:32:33 ЛС | профиль | цитата
Netspirit писал(а):
procedure BlaBlaBla;
var
txt:string; handle:HWND;
begin
txt := 'test-test-test';
handle := GetHandle; // GetHandle - какая-либо пользовательская функция
if handle <> 0 then
SetWindowText(handle, PChar(txt));
else
MessageBox(.....);
end;


Допустим, что "procedure" будет контейнером со значком процедуры и именем "BlaBlaBla", переменные "var" будут точками наверху контейнера, которые можно будет добавлять и редактировать, "begin" и "end" не будет видна т.к. это тело процедуры и будет включена в её контейнер, if и прочее тоже можно в контейнер преобразовать со своим значком и точками либо просто поставить на него значок также с точками и в свойствах сделать ввод необходимых данных! И точка на процедуре с возвращающим значением! Получается вполне наглядный код!
------------ Дoбавленo в 20.32:
RinniX писал(а):
Допустим, что "procedure" будет контейнером со значком процедуры

с возможностью изменения значка на свой по назначению процедуры!
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)