![]() |
|
|
![]()
|
|
| TupleCa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
нужно создать язык для построения геометрических фигур.
ну, программа выгядит примерно так <лист параметры листа> <квадрат параметры> <круг параметры> ... </лист> потом это все преобразуется в картинку. вот у меня вопрос -как производить синтаксический и сементический анализ? ну и вообще как это всё создается? |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: нет Всего: 32 |
Ну, просто считать файл как XML. А потом уже на результате анализа атрибутов и соответствующих значений построить фигуру.
-------------------- ![]() ![]() |
|||
|
||||
| TupleCa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
||||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
ну, если задача - реализовать анализатор с нуля, то xml-ность формата никак не помешает (не говоря уже о том, что есть немало средств, в которые, как минимум, можно подсмотреть при реализации своего)
-------------------- qqq |
|||
|
||||
| TupleCa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
кстати. да. мне главное что бы можно было применить грамматику ну типа G = <нереминальные символы, терминальные, правила, старт. > и потом проверять. есть ли ошибки в тексте или нет. вот тут что надо использовать? |
|||
|
||||
| Artemios |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 14.8.2006 Где: Саратов, Россия Репутация: 1 Всего: 50 |
Можно покопать в сторону генераторов лексических/синтаксических анализаторов.
Я, по крайней мере, грамматики довольно успешно разбирал на связке flex/byson. -------------------- fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ] |
|||
|
||||
| TupleCa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
что-то я не очень теперь могу понять целесообразность создания языка... никаких приемуществ пред визуальным проектированием нету него (в моей задаче). вот нада приемущества высосать из пальца как то, или не из пальца...но вообщем надо
|
|||
|
||||
| Promitheus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.3.2007 Репутация: нет Всего: 1 |
Б. Керниган, Д. Ритчи "Язык программирования Си"
Б. Керниган, Р. Пайк "Практика программирования" (не очень уверен, но по-моему в ней был пример) Никлаус Вирт "Алгоритмы и структуры данных" Было разобрано по примеру разбора грамматического выражения, даже с выявлением ошибок ввода. Там есть исходник, реализующий этот пример. Питер Джексон "Введение в экспертные системы" - впринципе под разными соусами подаёт решение твоей задачи, но слегка завуалировано и надо догнать что это то, что ты ищешь. Надеюсь поможет и натолкнёт на какие-нибудь мысли. Вообще это чистой воды теория содания компиляторов, так что непомешалобы если всё серьёзно делать что-нибудь более существенное почитать. |
|||
|
||||
| TupleCa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
спасибо, посмотрю. Б. Керниган, Д. Ритчи "Язык программирования Си" у меня, вроде, даже, есть. надо будет поискать |
|||
|
||||
| Sergey912 |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
TupleCa,
Если нужно строить определенный набор фигур, то просто класифицируй их. Определи простые правила записи как можно короче параметров. А потом их считывать, пусть даже из .txt, без лишних переходных форматов. Такие потом можно будет и просто смотреть. Это лично мое имхо, просто доканали разнашерстные форматы и все со своими умными правилами - имхо лучше как можно естественнее и проще. xml был бы совсем неплох, только вот невидел что бы для xml были какие-то стандарты для записи таких данных, но формат он универсальный и если потом кто-то будет с ним работать, то проще будет ему + к тому тебе самому будет проще работать с одним форматом, чем изобретать очередной велосипед. Ну например: Ellipse: 15,25,45,65 Вроде все что надо, чтобы его построить. Строку можно сформировать по разному(или строки), главное чтобы было проще всего парсить и чтобы запас прочности у нее был под задачи именно построения фигур очень большим. Если речь только о геометрических фигурах немешает посмотреть все класификации этих фигур и какими они могут обладать параметрами, тогда станет намного ясней. Тут нужно область изучить, в котрой ковыряешься, класификацию посмотреть и придумать как это лучше всего переложить в БД в любом ее смысле.
Если он будет работать быстрее аналогов, будет проще и т.п. Вобщем по хар-кам лучше, тогда высасывать ненадо p.s. Честно говоря непонял что это и зачем, много где есть подобное как на плоскости так и в пространстве, скорее это не язык а набор ф-й в которые приходят исходные данные...
Собственно, почему бы и нет? Вот она форма записи |
||||
|
|||||
| Promitheus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 28.3.2007 Репутация: нет Всего: 1 |
Это реальная задача или на диплом надо ?
Если на диплом напиши какую-нибудь фигню в качестве объяснения обычно всё равно никто не читает, а выпустить тебя всё равно надо будет. Это сообщение отредактировал(а) Promitheus - 30.3.2007, 15:59 |
|||
|
||||
| TupleCa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.11.2006 Репутация: нет Всего: нет |
вообще на курсовую, но одновременно с этим это реальная задача. есть только разница: для реальной задачи лучше использовать визуальный редактор. А для курсовой лучше придумывать язык и т.д Добавлено через 2 минуты и 2 секунды
ну, вообщем, да. и я то как раз и думаю как сделать именно что-то хоть чуть чуть похожее на не набор функций |
|||
|
||||
| Sergey912 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
TupleCa,
Уууу, страшная тема а дипломную работу, значит нового придумывать не надо, надо только разобрать готовое и все.
Похожее это как? Он и будет набором ф-й и процедур, обсласть задачи определи и ее границы и сделать некоторый процент функция самых простых с запасом(в виде пригодного для распознания синтаксиса, пусть даже примерно в теории), чтобы потом мог кто угодно доделать, врядли от тебя хотят Microsoft Geometry 3.12 с сотней кнопок Это сообщение отредактировал(а) Sergey912 - 31.3.2007, 11:27 |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |