Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт дек 13, 2018 23:53

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 122 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.
Автор Сообщение
 Заголовок сообщения: баг-не-баг, но неприятность
СообщениеДобавлено: Вт мар 23, 2010 06:06 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Итак, имею на винте в корне папку forth\ в ней папка fork\ в которой вся структура папок форка, его исходники и примеры. И в ней же моя папка test\ с тестовыми файлами на форте

сижу в тестовой папке, даю команду:
e:\forth\fork\test\>..\fork.exe test.frt

fork загружается и выдает:
Ошибка: Не удается найти указанный файл.

A надо, чтобы находил.
Без прямого указания пути к исходнику где либо!
а то и:
e:\forth\fork\test\>..\fork.exe ..\test.frt
ту же ошибку выдает :(

p.s. Возможно я туплю и fork старый...
mOleg kernel fork(mininoleg@yahoo.com). build from SPF4.17 sources.
windows Version 4.10 Build 234 at 28.Nov.2009

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Последний раз редактировалось WingLion Ср мар 31, 2010 19:18, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 07:40 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
ворос один - по отношению к чему определяется текущая папка?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 07:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
ворос один - по отношению к чему определяется текущая папка?


Tекущая папка, она на диске определена в самой операционке, или в windows не так как в DOS?

А надо бы, вообще, чтобы fork находился независимо от того, где он находится...
набрать в командной строке fork.exe my_src.my_like_extension_for_my_programm
находясь в той папке, где исходник лежит, и чтобы работало без всяких "файл-нот-фаундов"

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 08:01 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
e:\forth\fork\test\>..\fork.exe test.frt

e:\forth\fork\test\>..\fork.exe ..\test.frt

по крайней мере это два разных файла test.frt

что будет, если задать полный путь?

мне кажется, что это комбинация
- установок форка (он где-то ищет а не просто ищет)
- того, чтьо ему подсовывает ось как текущую папку


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 10:30 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 407
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 3 раз.
Вобще то в форке по умолчанию путь от его корневой папки находится или нужно указывать полный путь.
Версия уже старовата хотя по этношению к этой ситуации это не имеет значения.
Код:

.\DIR\....\file.fts - так относительный путь от корня форка.
С:\DIR\....\file.f - ну и как обычно


Я обычно использую вот такие батники (удобно)
Код:
@echo off
C:
CD \src4-mc10-b256\ 
fork.exe h/ MyDebug.fts h/ MSP430\msp430I2C.fts

h/ это короткий путь к папке который прописывается в fork.ini


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 20:43 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Достать левой ногой правое ухо в принципе возможно, но можно и копчик подвернуть...

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

В конце концов, у меня может быть десяток проектов (ну и что, что недоделанных?!)
И в них свои либы, свои дополнительные папки и т.д. и т.п.
И все-все-все это прописывать где-то там, "на хуторе близ диканьки" совсем не интересно.
А если у меня в разных проектах одинаковые имена файлов используются, то они еще и мешать друг другу начнут при такой организации.

Поэтому, хочется, чтобы было примерно так:

Форк запускается (из любого места) через указание полного пути к нему или указания корневой папки форка в %PATH%
После запуска fork сам определяет, какой текущий путь был в момент его запуска и немедленно назначает его первым путем для поиска. Где-то там, надо еще и дополнительно иметь возможность указать, что от пути запуска для поиска использовать дополнительные относительные пути.

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

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 21:08 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
WingLion писал(а):
Таким образом, получится, что любой проект в исходниках можно спокойно переписать в какую-нибудь другую папку и там продолжить над ним работу (модифицировать, улучшить, переделать на корню и т.п.) И чтобы при этом не потребовалось заниматься сизифовым трудом по прописыванию путей, которые завтра придется стирать.

Одним щелчком мыши или enter-ом открываю текстовый файл с фортоским расширением, где бы он не находился.
В редакторе также щелчком мыши запускаю файл на трансляцию с помощью любого форт.exe, выбираемого в окне быстрого запуска
редактора.
Так удобнее и быстрее.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 22:35 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
WingLion писал(а):
Ясно, что никто никому ничего не должен, но хочется, чтобы работать было удобно, чтобы не надо было рабочие папки куда-то внутрь форка прописывать для того чтобы работать нормально.

не привязан ли форк жестко к С:\ :?:
Вот, устанавливая масм32, обнаружил, что он не видит собственных include , стал разбираться, не разобрался, но встретил о нем статью, где рекомендовано ставить исключительно на С: (у меня было на D )


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 22:47 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1256
Благодарил (а): 3 раз.
Поблагодарили: 17 раз.
вопрос писал(а):
Вот, устанавливая масм32, обнаружил, что он не видит собственных include , стал разбираться, не разобрался, но встретил о нем статью, где рекомендовано ставить исключительно на С

Ага, его можно только на С:\

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 23, 2010 23:19 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 407
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 3 раз.
Не знаю почему молчит афтар :roll:
Но помоему никуда форк не привязан.
Если указан полный путь к файлу то все открывается как надо.
Были в недавних версиях эксперементы с путями может у WingLion-а как раз эта версия и есть?
У меня проблем не возникает с файлами . Версия http://www.forth.org.ru/~mOleg/src4-mc10-b256.zip
А короткие пути прописываются легко, но это не обязательно использовать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 26, 2010 09:05 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
WingLion писал(а):
A надо, чтобы находил.
Без прямого указания пути к исходнику где либо!

на вопрос уже отвечал. Форк ищет файл инициализации. То есть, при перемещении исполнимого файла как минимум нужно копировать и fork.ini и тащить его с собой. Понятно, что при этом ini файл надо подправить (убрать подгрузку лишних вещей).
Другой вариант подключить все либы, потом:
FALSE TO INIT?
и
s" work.exe" SAVE
тогда получится новый исполнимый файл со всеми нужными либами не требующий файла инициализации.

Если не ошибаюсь, этот момент в доке я описывал...
notes.txt писал(а):
\ 28.02.2009 ~mОleg
\ заметки по поводу возникших вопросов у пользователей fork-a

При запуске система ищет два файла fork.msg и fork.ini

файл fork.msg содержит текстовые сообщения системы, в случае его ненахождения
ничего кроме отсутствия осмысленных сообщений об ошибках не происходит, сами
ошибки выглядят(в случае отсутствия fork.msg) так:
'Error: 2'
вместо осмысленного:
'Error: Не удалось распознать лексему!'
fork.msg не рекомендуется редактировать в ручную!

файл fork.ini содержит настройки системы, и подключает по умолчанию
необходимые файлы. В случае его ненахождения в корневой папке, или папке из
которой запущен исполнимый файл система выходит с ошибкой. Избежать этого
можно установив переменную INIT? в нуль:
0 TO INIT?
и сохранением системы:
s" noini.exe" SAVE
изменить имя файла инициализации можно с помощью слова INI-FILE :
s" another.ini" INI-FILE
соответственно систему так же необходимо сохранить.

За более подробными сведениями обращаться к .\kernel\os\win\options.f

_Harry писал(а):
Не знаю почему молчит афтар

были проблемы с деньгой, небыло инету, сейчас чуть полегчало.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Последний раз редактировалось mOleg Пт мар 26, 2010 09:11, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 26, 2010 09:07 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
вопрос писал(а):
не привязан ли форк жестко к С:\

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

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 26, 2010 14:49 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
прошу прощения, предыдущие ответы несколько на другую тему (поспешил ответить ;) ).

делаю папку .\test
в ней файл zzz.f
с текстом
s" aaaaaaaaaaaaaaaaaaaa" TYPE CR

в ком строке набираю:
..\fork.exe zzz.f
наблюдаю
<pre>
D:\fork\src-104\test>..\fork.exe zzz.f
mOleg kernel fork(mOlegg@ya.ru). build from SPF4.17 sources.
windows Version 4.10 Build 265 at 26.Mar.2010

fork.ini included
aaaaaaaaaaaaaaaaa
FORTH(0)>
</pre>
вывод, возьми последнюю версию пожалуйста :)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 26, 2010 23:32 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вот и попался баг-не-баг, но неприятность в последней сборке...

описание:

1. В папке C:\Forth\fork\ находится форк со всеми своими папками (просто как распаковывается из сборки)
В эту же папку копирую свою папку winglion\ с исходниками на форте
В нее же (в корень форка) копирую пару файлов make_silence.bat и zzzz.f описаные ниже
2. Запускаю make.bat получаю fork.exe - ok
3. Запускаю make_silence.bat в нем просто команда fork.exe zzzz.f а в файле zzzz.f
Код:
os/ save.fts

' NOOP IS PROMPT
' NOOP IS OK

' NOOP MAINX A!

FALSE TO INIT?

s" forth.exe" SAVE
BYE


на выходе получаю "молчаливый форк" под именем forth.exe

----- на этом подготовка к ловле "бага" заканчивается

4. захожу в C:\Forth\fork\winglion\

и запускаю свой исходник на компиляцию

..\fork.exe test.frt >list.txt

В файле list.txt получаю не то что хотел, потому что надо запускать через "молчаливый форк"

..\forth.exe test.frt >list.txt

тогда результат "правильный"


5. Теперь возвращаюсь в C:\Forth\fork\

и ожидаю, что команда:

forth.exe winglion\test.frt >list.txt

выдаст тот же результат

и тут начинается "склеротический балет"

Код:
Источник: winglion/test.f
В строке: 2 :19

libs/includes.frt
Ошибка: Системе не удается найти указанный путь.


папка libs\ находится в папке winglion\ как часть исходников, которые нормально компилируются в п.4 этого опуса
и ненормально в п.5, когда компиляция запускается из другой папки.

резюме:

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

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 26, 2010 23:56 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
резюме:

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 122 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB