Интерпретатор команд

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 22.08.2010 (Вс) 2:53

Мне кажется это никак не связанно с тем что Left, Split и регулярки не подходят для этих целей...

О Left и Split я говорил раньше. Left вообще не нужна в принципе, она генерирует копию подстроки, а копия никому не нужна.

Split тоже генерирует копии и этим плох, а его функционал никому особо не нужен (никто не назовёт адекватного разделителя, разделение с помощью которого улучшит ситуацию, а не ухудшит).

Собсно если не использовать в VB Left, Split и регулярки, то остаётся только орудовать Mid и InStr? =)

Регулярки это вообще кошмар для данного случая. Mid$ ничем не лучше Left, потому что не делает ничего, кроме как генерации копии подстроки, а копия не нужна. InStr — самая хорошая из всех названных. Но ей не хватает следующей функции: вместо одной искомой подстроки, задать целое множество искомых символов, да так, чтобы она возвращала не только позицию найденного вхождения, но и номер элемента из множества искомых вхождений.

Возможно ли лицезреть это ПО? конечно желательно исходничег...

Что именно? Исходник технологии, в рантайме строящий граф маршрутизаторов хода выполнения?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Интерпретатор команд

Сообщение FireFenix » 22.08.2010 (Вс) 12:04

Собсно если не использовать в VB Left, Split и регулярки, то остаётся только орудовать Mid и InStr? =)

Регулярки это вообще кошмар для данного случая. Mid$ ничем не лучше Left, потому что не делает ничего, кроме как генерации копии подстроки, а копия не нужна. InStr — самая хорошая из всех названных. Но ей не хватает следующей функции: вместо одной искомой подстроки, задать целое множество искомых символов, да так, чтобы она возвращала не только позицию найденного вхождения, но и номер элемента из множества искомых вхождений.

Вывод - написать нормальный эвалютер/интерпретатор на VB невозможно? ну без использования сторонних длл, написанных на других ЯП

Возможно ли лицезреть это ПО? конечно желательно исходничег...

Что именно? Исходник технологии, в рантайме строящий граф маршрутизаторов хода выполнения?

Угу... Постройка графа на основе составных команд и сведение к списку простых команд...
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 22.08.2010 (Вс) 13:30

ывод - написать нормальный эвалютер/интерпретатор на VB невозможно? ну без использования сторонних длл, написанных на других ЯП


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

Угу... Постройка графа на основе составных команд и сведение к списку простых команд...

Ну, вообще не стараюсь не афишировать внутренние исходники, и вряд ли ты увидишь там то, что хочешь, но отправлю в личку.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 8:29

Samsonov писал(а):
Код: Выделить всё
Dim dicJumpTable As New Dictionary(Of String, Integer)

Если бы подобной оптимизацией занимался сам компилятор Бейсика, ему бы ничего не стоило создать такой машинный код, где бы каждому Case-блоку соответствовала маленькая GoSub-подпрограмма. Но если компилятор QB/VB/VB.Net такого не делает, есть ли шанс сделать это за него, не пускаясь во все тяжкие с буквальным использованием оператора GoSub?

Повторюсь, все вызываемые подпрограммы должны иметь доступ ко всем внутренним переменным текущей функции. Вызов внешних функций не подходит.


И я повторюсь. Все это решается через классы. Механизм подпрограмм замен механизмом методов и свойств класса. Класс как пространство имен, может иметь внутренние переменные и все методы имеют доступ к этим переменным.
ООП! ООП же! Богоизбранная парадигма программирования.

Хакер писал(а):Как делать такой преобразователь — дело ваше, лишь бы хорошо.

Хорошо, как?
Объявить строковый буфер, загрузить в него данные из файла/текстбокса и через MID$ извлекать узлы графа?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 8:32

Денис писал(а):через MID$ извлекать узлы графа?

Какого графа? :roll:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 9:13

Хакер писал(а):Какого графа? :roll:

Графа маршрутизаторов хода выполнения... :roll:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 9:36

Узлы графа — это маршрутизаторы, а маршрутизаторы это главным образом куски кода, каждый из которых принимает решение, какой узел будет выполнен вслед за этим.

Как ты собрался Mid$-гом извлекать узлы, и зачем это делать (излекать)?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 9:57

Хакер писал(а):Узлы графа — это маршрутизаторы, а маршрутизаторы это главным образом куски кода, каждый из которых принимает решение, какой узел будет выполнен вслед за этим.

Как ты собрался Mid$-гом извлекать узлы, и зачем это делать (излекать)?


Я называю маршрутизаторы атомами, дело привычки, вкуса, но определение то же самое.
Граф я называю деревом.

Итак, я предположил, что простейший транслятор кода, чтобы реализовать принцип конечного автомата, должен:
• получить или уже иметь список атомов и список функциональных связей между ними.
• в процессе работы, в первый проход, он перебирает входные данные и извлекает из них атомы и данные.
• одновременно с этим он строит дерево, согласно которому он будет выполнять программу. Дерево строится согласно информации о функциональных связях между атомами (Например, атому ЕСЛИ соответствует атом ТО и вместе они образуют функцию условного перехода)
• во второй проход, интерпретатор проходит по своему дереву (согласно порядку ветвей) и вызывает соответствующие функции.

Так вот, mid$ используется на этапе трансляции, чтобы сравнить фрагменты кода с эталонами атомов, имеющимися в словаре. Насколько слышал я на этом форуме ранее от Алибека и от тебя, что Mid$ не использует по десять раз операции разрезки и склейки текста.

З.Ы. Я в курсе, что можно не использовать строки вообще, а работать с байтами, но это неудобно и не дает особого прироста в скорости. Скажем так, я прекрасно понимаю, что не сделаю функцию, работающую быстрее Mid$ или inStr.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 10:04

Боже, какая чушь.

Я называю маршрутизаторы атомами, дело привычки, вкуса, но определение то же самое.

Маршрутизаторы — это вообще мой термин. Маршрутизаторы — это динамически формируемые в памяти процедуры (куски кода), которые затем, будучи запущенными, на основании входной последовательности (чего угодно) решают, какие маршрутизаторы будут выполнены далее. Некоторые маршрутизаторы генерируют выходную цепочку.

Граф я называю деревом.

Только граф без циклов можно называть деревом. Мои графы маршрутизации практически всегда имеют циклы.


Я тебе рассказываю о технологии построения динамического кода, исповедующего идею анти-структурности. Эта универсальная технология, которую я изначально сделал для разбора исходных кодов, но потом нашёл ей кучу других применений (например дизассемблирование, быстрый поиск по словарю).

В общем смысле, технология позволяет преобразовывать одну цепочку данных (данные — любые, элемент цепочки — что угодно) в другую цепочку данных. Это чем-то походе на транскрипицю РНК. ДНК — входная цепочка, РНК — выходная цепочка, РНК-полимераза — граф маршрутизации (множество маршрутизаторов).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 10:17

Хакер писал(а):Боже, какая чушь.

Я тебе рассказываю о технологии построения динамического кода, исповедующего идею анти-структурности.


Но все равно же эта технология должна преобразовывать одну цепочку данных (данные — любые, элемент цепочки — что угодно) в другую цепочку данных согласно каким-то правилам??? Значит спискок правил преобразования должен быть. Значит должен быть проход по элементам списка и сравнение входной цепочки данных с элементами списка правил.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 10:25

согласно каким-то правилам???

Структура (отношения смежности узлов) графа и внутренности (содержание) кода маршрутизаторов определяет эти правила.

В ряди случаев правила преобразования меняются по ходу выпонения программы. Например, при использовании технологии для реализации быстрого словаря правила меняются при добавлении/удалении элемента в словарь. Да и имеет место быть преобразование не входной цепочки в выходную, а входной — в одно число-элемент (число — это идентификатор элемента словаря, если у нас словарь, хранящие отображения [слово→число], или указатель, если у нас словарь, хранящий отображения [слово→структура] или [слово→объект].

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

Но, есть одно но.

Это моя технология, которую я тихо себе применяю, я просто сказал, что применяю её, и ты стал её обсуждать.

Но разговор шёл в другом ключе: я не агитировал за свою технологию, я агитировал против использования бесполезных функций (вроде Split-а) при разборе того, что собрался разбирать автор топика. Моя технология — это интересно, и обсуждать её можно долго и много. Но зачем это делать сейчас и тут?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 10:40

Хакер писал(а):Моя технология — это интересно, и обсуждать её можно долго и много. Но зачем это делать сейчас и тут?


Потому что автор топика наверняка удовлетворился ответами еще на первой странице. Новый топик заводить лениво. А твоя технология это же настоящая нейросеть! Не какой-то там примитивный перцептрон. Какие у тебя есть примеры успешного применения этой технологии? Она может перевести текст с русского на английский и обратно без эффекта машинного перевода? она может одновременно с этим вывести ряд чисел Фибоначчи? Один маршрутизатор может скопировать сам себя или группу других маршрутизаторов?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 10:42

Денис писал(а):А твоя технология это же настоящая нейросеть! Не какой-то там примитивный перцептрон. Какие у тебя есть примеры успешного применения этой технологии? Она может перевести текст с русского на английский и обратно без эффекта машинного перевода? она может одновременно с этим вывести ряд чисел Фибоначчи? Один маршрутизатор может скопировать сам себя или группу других маршрутизаторов?


И теперь ты будешь говорить мне, что не тролль?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 10:51

Хакер писал(а):И теперь ты будешь говорить мне, что не тролль?

Не тролль. Просто я пытаюсь выяснить границы применимости этой технологии. Ты выше написал — входные данные любые. Вот я и привел примеры любых входных данных.
Извиняюсь, если что не так.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 23.08.2010 (Пн) 11:37

тролли не тролли. Не ожидал что тема так горячо пойдет. И все же, давайте более конкретно.
* напомню, что речь идет о создания мастера установки, выполняющего операции по установке программы по скрипту.
например есть функции (возьмем самые примитивные):
Script:
Код: Выделить всё
copyfile a,b;
addreg a,b;
mkdir a;


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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 11:42

Сначала опиши свой язык, его синтаксис и правила.

Сначала ты говорил, что это будут BAT-файлы. Теперь мы видим неBAT.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 23.08.2010 (Пн) 11:51

Хакер писал(а):Сначала ты говорил, что это будут BAT-файлы. Теперь мы видим неBAT.


Натыкай меня носом, где я писал, что будут bat-файлы :lol:

[Хакер] Автор вырезал далее следующий кусок после того, как я ответил на него, и поместил этот кусок уже после моего ответа, касающегося как раз этого куска. Возвращаю кусок на его законное место, чтобы логика не нарушалась.

синтаксис примерно такой:
для копирования файла

filecopy a,b;
где a- начальный файл, b- конечный файл

mkdir a;
где a- создаваемая папка

и все в таком духе.
Последний раз редактировалось kuhtiov 23.08.2010 (Пн) 11:53, всего редактировалось 2 раз(а).

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 11:52

Debugger писал(а):Как в BAT-файлах?
kuhtiov писал(а):да, именно :roll:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 11:54

kuhtiov писал(а):синтаксис примерно такой:
для копирования файла

filecopy a,b;
где a- начальный файл, b- конечный файл

mkdir a;
где a- создаваемая папка
и все в таком духе


Ага. Вот так мосты бы строили. В проектной документации так и напишут: «Ну короче мост, балки, на них плиты, на них асфальт, ну и в таком духе».

Нормальное описание языка (а не конкретных команд, которые могут добавляться и удаляться из него). Ты похоже не понимаешь, что значит нормальное. Значит — дальше своего носа.

Например, стоит рассказать, является ли точка с запятой разделителем команд. Если да, стоит сказать, что перевод строки нужен только для красоты. Если нет, нужно рассказать, на кой черт нужна точка с запятой и убрать её. Если перевод строки (а не точка с запятой) служит разделителем команд, нужно рассказать, как будет подавляться разделение команд переводом строки, для того, чтобы можно было просто переносить строки для написания одной команды на нескольких строках. Нужно рассказать, чем являются команды — вызовом внешних программ, а параметры при этом — параметрами командной строки таких вызываемых программ, или же внутренними функциями. Если первое, нужно рассказать, есть ли вещи вроде перенаправления стандартных потоков и конвеерных операторов. Если второе, нужно тоже рассказать, допустимы ли какие-либо операции и выражения. Продолжи сам список вещей, которые надо рассказать. Список вещей, о которых ты даже не задумываешься, не беспокоишься, молчишь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 23.08.2010 (Пн) 11:54

Ну я же не написал что буду работать с bat-файлами. Я имел ввиду, что принцип такой-же.

Не плохо было бы научить работать с условиями, но пока вообще не представляю, как это выглядит

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 23.08.2010 (Пн) 11:57

Хакер писал(а):
kuhtiov писал(а):
Нормальное описание языка (а не конкретных команд, которые могут добавляться и удаляться из него). Ты похоже не понимаешь, что значит нормальное.


Ну, значит не понимаю. Объясни. Чем отличается описание языка от конкретных команд?

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 12:25

kuhtiov,
там, на первой странице кто-то предлагал скрипт-контрол задействовать. Тебя не устроит это решение? Или тебе нужен именно свой (внутрипрограммный) обработчик команд?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Re: Интерпретатор команд

Сообщение NashRus » 23.08.2010 (Пн) 12:35

Хакер писал(а):Эта универсальная технология, которую я изначально сделал для разбора исходных кодов


Еще все-таки к вопросу об этом. Полностью разбирает текст на ВБ6 до неделимых сущностей? И все математические выражения?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 12:43

Разбирает не технология, а динамически генерируемые исполняемые структуры (граф маршрутизаторов). Для разбора VB-подобного языка нужно будет где-то 4–5 графов разного назначения, каждый последующих принимает на вход вывод пердыдущего, а первый паринимает на вход цепочку символов. Именно VB6-разбор я не делал, но делал нечто похожее.

Последние этапы разбора делались не механизмом, а вручную, потом что предыдующие этапы дали очень удобные для ручной обработки данные.

Сама технология никак не относится к разборам — это технология генерирования преобрвазоетелей данных. Сама технология не знает ничего о данных, которые ей придётся обрабатывать. Можно вообще всю программу написать с помощью технологии, но это будет абсурдно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 23.08.2010 (Пн) 13:04

Денис писал(а):kuhtiov,
там, на первой странице кто-то предлагал скрипт-контрол задействовать. Тебя не устроит это решение? Или тебе нужен именно свой (внутрипрограммный) обработчик команд?

Мне нужен именно свой (внутрипрограммный) обработчик команд

Описание языка за сегодня сформулирую, завтра выложу

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Интерпретатор команд

Сообщение Денис » 23.08.2010 (Пн) 14:42

kuhtiov писал(а):Мне нужен именно свой (внутрипрограммный) обработчик команд


Вот здесь я описал пример транслятора (который был обозван чушью). Посмотри, подойдет ли тебе такой. Что неясно объясню подробнее.
_______________

Хакер писал(а):Сама технология никак не относится к разборам — это технология генерирования преобрвазоетелей данных. Сама технология не знает ничего о данных, которые ей придётся обрабатывать.


Вот именно поэтому я и назвал эту технологию нейросетью. Все эти маршрутизаторы, получающие входные данные, производящие над ними анализ (рискну предположить, анализ сходный эвристическому) и активирующие работу других маршрутизаторов согласно полученным результатам — все это смахивает на нейроны.

Ты ушел от прямого ответа, но я почерпнул косвенный здесь:
Для разбора VB-подобного языка нужно будет где-то 4–5 графов разного назначения

Меня интересовало, если эта технология нейросеть, то как она обучается? По цитате выходит, что она обучается добавлением специализированных маршрутизаторов в блок-схему (граф).

Если к этой технологии допилить напильником возможность в порядке работы автоматически модифицировать граф, генерировать и добавлять маршрутизаторы, то получится настоящая нейросеть!
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 23.08.2010 (Пн) 15:40

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

Ерунда. Сама технология не определяет метод обработки. Но в большинстве применений маршрутизирующие узлы сдвигают «указатель» текущего элемента, берут значение (извлекают его) текущего элемента и используют это значение как номер маршрута (номер ребра, ведущего на следующий маршрутизатор). Немаршрутизирующие узлы обычно ведут на главный маршрутизатор (селектор), но их функция в том, чтобы записать элемент выходной цепочки. Многие узлы и маршрутизирующие, и записывающие.

Но в большинстве случаев маршрутизаторы не выполняют никакого анализа. Они крайне примитивны, и цель их существование — привести выполнение к нужному немаршрутизирующему (записывающему, терминирующему) узлу.


и активирующие работу других маршрутизаторов

Они не активируют, они делают jmp на выбранный следующий роутер.

если эта технология нейросеть, то как она обучается?

Это не нейросеть и она никак не обучается. Это, если хочешь, блок-схема. Это техногия создания в рантайме динамического кода, его линковки и т.д.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 24.08.2010 (Вт) 6:45

Выкладываю описание языка, как я его вижу

Команда параметр,параметр;
где “,” – разделитель между параметрами
;” – разделитель команд.

Работать планирую, будет примерно так:
(Для обработки команд будет написан отдельный модуль)
Код: Выделить всё
1). В форме проекта читаем строку из файла, пишем в переменную (назовем ее S), значение переменной передаем в модуль.
2). Модуль смотрит первое слово переменной S. Если первое слово например copy, тогда передает переменную S процедуре, соответствующей данной команде (Например Private Sub PrCopy).
3). Процедура PrCopy знает, что у нее должны быть два параметра, откуда брать и куда класть. Если оба параметра указаны, она (процедура) выполняет копирование файла.


Кажется ничего не упустил

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Интерпретатор команд

Сообщение Хакер » 24.08.2010 (Вт) 6:49

Это форменный кошмар.

Человек ушёл на день генерировать описание. С чем он пришёл? С 4 строчками и списком, от первого пункта которого становится плохо. Ответил ли он на поставленные вопросы:
Например, стоит рассказать, является ли точка с запятой разделителем команд. Если да, стоит сказать, что перевод строки нужен только для красоты. Если нет, нужно рассказать, на кой черт нужна точка с запятой и убрать её. Если перевод строки (а не точка с запятой) служит разделителем команд, нужно рассказать, как будет подавляться разделение команд переводом строки, для того, чтобы можно было просто переносить строки для написания одной команды на нескольких строках. Нужно рассказать, чем являются команды — вызовом внешних программ, а параметры при этом — параметрами командной строки таких вызываемых программ, или же внутренними функциями. Если первое, нужно рассказать, есть ли вещи вроде перенаправления стандартных потоков и конвеерных операторов. Если второе, нужно тоже рассказать, допустимы ли какие-либо операции и выражения. Продолжи сам список вещей, которые надо рассказать. Список вещей, о которых ты даже не задумываешься, не беспокоишься, молчишь.


Он ответил только на первый...
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: Интерпретатор команд

Сообщение kuhtiov » 24.08.2010 (Вт) 7:20

У человека еще много работы помимо этого. Я не понимаю, что в моем ответе тебе не понравилось. Я довольно подробно расписал. И что не так с первым пунктом?

Пред.След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 3

    TopList  
cron