MIT писал(а):Написать полноценное СУБД - проблема, причем большая. А сделать свою систему еще и конкурентноспособной почти нереально. Однако я переодически сталкиваюсь с задачами хранения бинарных данных, и обычно под каждую задачу пишу систему хранения. Последнее время использую одну, периодически "прикручивая" к ней новые возможности.
Хакер писал(а):Никто не пытался, и правильно, что не пытался.
Никто не пытался, и правильно, что не пытался.
Williams писал(а):Пробовать можно, но имхо без требуемого уровня знаний в данной области быстродействие будет убогое. Проще обойтись файловой системой - да и зачем изобретать велосипед.
Я делаю (бесплатную) операционную систему (это всего лишь хобби, и она
не будет большой и профессиональной как gnu) для клонов 386(486) AT.
Работа над ней началась в апреле и скоро будет закончена. Я бы хотел
получить отзывы о том, что людям нравится/не нравится в миниксе, ибо
моя ОС на неё похожа (такое же устройство файловой системы
(из практических соображений) среди всего прочего).
Я уже перенёс bash(1.08) и gcc(1.40), и всё, кажется, работает.
Подразумевается, что практические вещи у меня появятся через несколько
месяцев, и я хотел бы узнать, каких особенностей хотелось бы большинству.
Любые предложения принимаются, но я не обещаю, что реализую их
Линус (torvalds@kruuna.helsinki.fi)
PS. Да, у неё нет никакого миниксовского кода, и у неё есть многопоточная
фс. Она НЕ переносима (применяет переключение задач 386-го, и т. д.), и,
вероятно, никогда не будет поддерживать ничего, кроме жёстких дисков
AT, т.к. это всё, что у меня есть .
alibek писал(а):SLIM, ты хотя бы парсер SQL-запросов напиши, а потом уже будешь думать о написании СУБД.
tyomitch писал(а):Если просто руки чешутся написать что-нибудь эдакое, "такое же как у всех, только другое", то это конечно лучше других способов убить время, но ненамного плодотворнее. Хотя проведение досуга -- дело личное, "каждый ...чит как он хочет" (ц)
SLIM писал(а):Ну откуда у меня свежие идеи? Я ведь имею очень поверхностное представление обо всем этом, просто заинтересовался.
Помнится подпись у меня была такая помните (было что-то типа) :"Все знают что то-то и то-то невозможно. Но находятся чудаки которые этого не знают - вот они и делают открытие. А.Эйнштэйн"
SLIM писал(а):Тем более что я программистом пока не работаю, работой меня не нагружают. Что лучше - писать что-то или не писать ничего....))))
tyomitch писал(а):Если ты не имеешь в теме никакого представления, то как ты сделаешь открытие? Наткнёшься на него и даже не заметишь.
tyomitch писал(а):Лучше писать осмысленное, чем бессмысленное
Т.е. начать с того, чтобы разобраться, что именно ты собрался писать.
Линукс ведь не так получился, что сел человек писать абы-что и вдруг у него вышла ОС.
В определенном смысле именно так и получилось. Он начал писать bbs-клиента, который грузился с дискеты. Сначала была только система ввода-вывода (клавиатура, дисплей) и доступ к сети, потом появился доступ к дискам и прочие перламутровые пуговицы типа работы с портами, и оказалось, что функционала накопилось достаточно для операционной системы.tyomitch писал(а):Т.е. начать с того, чтобы разобраться, что именно ты собрался писать.
Линукс ведь не так получился, что сел человек писать абы-что и вдруг у него вышла ОС.
SLIM писал(а):Ну расскажите мне лучше (грубо говоря поставьте задачу (гы руки чешутся)) про прасер SQL. Что он делать должен то?
Остановимся пока на том что предложил большой человек. На SQL-парсер.
Я тут погуглил погуглил - так и не вкурил практического применения. Для чего? Просто проверка синтаксиса и выявление ошибок? В этом будет весь функционал парсера?
Хакер писал(а):Делать нечего.
jangle писал(а):SQL парсер уже крайне сложная задача, на реализацию с нуля могут уйти недели и даже месяцы напряженной работы.
Поэтому лучше взять готовый, например...
arechemist писал(а):Хы ) как успехи у афтора? )
SLIM писал(а):С приходом сессии всем стала нужна программа
Скооперировавшись с одногрупниками мы решили написать с меня.
как только мат., сразу присяду
можно будет лицезреть, но позже
MIT писал(а):Имхо математических парсеров и так целая куча, не думаю, что есть смысл писать тоже самое еще раз
MIT писал(а):Кстати, а что ты подразумеваешь под универсальностью?
Williams писал(а):"От сессии до сессии студенты живут весело" ©
Идея на данном этапе (данный этап является нулевым конечно же) заключается в следующем. Универсальный парсер может создавать некую БД токенов. Там же оговариваются условия "токенизации". Например: в инструкции SQL оговорены токены Select,All, From, Where. Ну это например. Туда же добавляем токены "(", "(", ",". ";","." . Оговариваем условия что типа: "Перед Select нет ни одного токена, а после него идет либо два произвольных слова разделенные точкой, либо токен All, либо "*" либо просто произвольный токен....что если после токена Where стоит токен "(", то после очереди токенов должен обязательно стоять токен ")"......ну и так далее ".
Перед Select нет ни одного токена, а после него идет либо два произвольных слова разделенные точкой, либо токен All, либо "*"
^select (all|\*|\w+\.\w+)
Таким образои распишем где и что должно стоять на местах. Далее идет стандартная процедура разбиения на токены и анализ.
Подобные парсеры тоже существуют. Даже больше скажу,думаю что у Хакера и Темыча они есть.
Вспомним хотя бы Хакерский second hend и ту самую библу.
SLIM писал(а):MIT писал(а):Кстати, а что ты подразумеваешь под универсальностью?
А вот под уиниверсальностью я понимаю следующее - зачем писать парсер под определенные нужды каждый раз...сегодня математический, завтра SQL, послезавтра XML....можно ведь сделать универсальный....
Идея на данном этапе (данный этап является нулевым конечно же) заключается в следующем. Универсальный парсер может создавать некую БД токенов. Там же оговариваются условия "токенизации". Например: в инструкции SQL оговорены токены Select,All, From, Where. Ну это например. Туда же добавляем токены "(", "(", ",". ";","." . Оговариваем условия что типа: "Перед Select нет ни одного токена, а после него идет либо два произвольных слова разделенные точкой, либо токен All, либо "*" либо просто произвольный токен....что если после токена Where стоит токен "(", то после очереди токенов должен обязательно стоять токен ")"......ну и так далее ".
Таким образои распишем где и что должно стоять на местах. Далее идет стандартная процедура разбиения на токены и анализ.
SLIM писал(а):Подобные парсеры тоже существуют. Даже больше скажу,думаю что у Хакера и Темыча они есть. Вспомним хотя бы Хакерский second hend и ту самую библу. Это по-видимому часть пусть и не универсального, но парсера, которую можно применить к универсальному парсеру....
SLIM писал(а):Правильно говорят - если что-то делаешь, то задайся вопросом зачем.....но вот подумайте граждане, что еще не сделано? Да помоему уже все есть. Так что просто учимся делать сами....
MIT писал(а):Не думаю, что идея с универсальным парсеров вообще состоятельна, тем более одному ее очень сложно реализовать. К тому же от разных парсеров разные задачи требуется выполнять и разными путями (причем не только на уровне различия синтаксиса преобразования, а на уровне входных/выходных данных). Так что истино универсальности, думаю, добиться нереально.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49