Поиск:

Ответ в темуСоздание новой темы Создание опроса
> язык типа html, синтаксический и сементический анализ 
:(
    Опции темы
TupleCa
Дата 26.3.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



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

<лист параметры листа>
   <квадрат параметры>
   <круг параметры>
   ...
</лист>

потом это все преобразуется в картинку.

вот у меня вопрос -как производить синтаксический и сементический анализ?

ну и вообще как это всё создается?
PM   Вверх
GZep
Дата 26.3.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Ну, просто считать файл как XML. А потом уже на результате анализа атрибутов и соответствующих значений построить фигуру.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
TupleCa
Дата 26.3.2007, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Цитата(GZep @  26.3.2007,  18:05 Найти цитируемый пост)
Ну, просто считать файл как XML

ну это я кстати делал подобное уже так.
а вот щас суть в том, что бы реализовать именно снуля. не используя xml. что бы был анализатор текста.
PM   Вверх
maxim1000
Дата 26.3.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



ну, если задача - реализовать анализатор с нуля, то xml-ность формата никак не помешает (не говоря уже о том, что есть немало средств, в которые, как минимум, можно подсмотреть при реализации своего) smile


--------------------
qqq
PM WWW   Вверх
TupleCa
Дата 26.3.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Цитата(maxim1000 @  26.3.2007,  19:03 Найти цитируемый пост)
ну, если задача - реализовать анализатор с нуля, то xml-ность формата никак не помешает (не говоря уже о том, что есть немало средств, в которые, как минимум, можно подсмотреть при реализации своего)  


кстати. да.

мне главное что бы можно было применить грамматику ну типа G = <нереминальные символы, терминальные, правила, старт. >
и потом проверять. есть ли ошибки в тексте или нет. вот тут что надо использовать?

PM   Вверх
Artemios
Дата 27.3.2007, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 1
Всего: 50



Можно покопать в сторону генераторов лексических/синтаксических анализаторов.
Я, по крайней мере, грамматики довольно успешно разбирал на связке flex/byson.


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
TupleCa
Дата 27.3.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



что-то я не очень теперь могу понять целесообразность создания языка... никаких приемуществ пред визуальным проектированием нету  него (в моей задаче). вот нада приемущества высосать из пальца как то, или не из пальца...но вообщем надо smile 
PM   Вверх
Promitheus
Дата 29.3.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 28.3.2007

Репутация: нет
Всего: 1



Б. Керниган, Д. Ритчи "Язык программирования Си"
Б. Керниган, Р. Пайк "Практика программирования" (не очень уверен, но по-моему в ней был пример)
Никлаус Вирт "Алгоритмы и структуры данных"

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

Питер Джексон "Введение в экспертные системы" - впринципе под разными соусами подаёт решение твоей задачи, но слегка завуалировано и надо догнать что это то, что ты ищешь.

 Надеюсь поможет и натолкнёт на какие-нибудь мысли. Вообще это чистой воды теория содания компиляторов, так что непомешалобы если всё серьёзно делать что-нибудь более существенное почитать.
PM MAIL ICQ   Вверх
TupleCa
Дата 30.3.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Цитата(Promitheus @  29.3.2007,  10:06 Найти цитируемый пост)
Б. Керниган, Д. Ритчи "Язык программирования Си"
Б. Керниган, Р. Пайк "Практика программирования" (не очень уверен, но по-моему в ней был пример)
Никлаус Вирт "Алгоритмы и структуры данных"

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

Питер Джексон "Введение в экспертные системы" - впринципе под разными соусами подаёт решение твоей задачи, но слегка завуалировано и надо догнать что это то, что ты ищешь.

 Надеюсь поможет и натолкнёт на какие-нибудь мысли. Вообще это чистой воды теория содания компиляторов, так что непомешалобы если всё серьёзно делать что-нибудь более существенное почитать. 


спасибо, посмотрю.
Б. Керниган, Д. Ритчи "Язык программирования Си" у меня, вроде, даже, есть. надо будет поискать
PM   Вверх
Sergey912
Дата 30.3.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



TupleCa, 
Если нужно строить определенный набор фигур, то просто класифицируй их. Определи простые правила записи как можно короче параметров.

А потом их считывать, пусть даже из .txt, без лишних переходных форматов. Такие потом можно будет и просто смотреть.
Это лично мое имхо, просто доканали разнашерстные форматы и все со своими умными правилами - имхо лучше как можно естественнее и проще. xml был бы совсем неплох, только вот невидел что бы для xml были какие-то стандарты для записи таких данных, но формат он универсальный и если потом кто-то будет с ним работать, то проще будет ему + к тому тебе самому будет проще работать с одним форматом, чем изобретать очередной велосипед.

Ну например:

Ellipse: 15,25,45,65

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

Цитата
или не из пальца...но вообщем надо

Если он будет работать быстрее аналогов, будет проще и т.п. Вобщем по хар-кам лучше, тогда высасывать ненадо smile

p.s. Честно говоря непонял что это и зачем, много где есть подобное как на плоскости так и в пространстве, скорее это не язык а набор ф-й в которые приходят исходные данные...


Цитата
G = <нереминальные символы, терминальные, правила, старт. >

Собственно, почему бы и нет? Вот она форма записи  smile Даже с класификацией какой-то, нифига не понял что за слова  smile 
PM MAIL WWW   Вверх
Promitheus
Дата 30.3.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 28.3.2007

Репутация: нет
Всего: 1



Это реальная задача или на диплом надо ?

Если на диплом напиши какую-нибудь фигню в качестве объяснения обычно всё равно никто не читает, а выпустить тебя всё равно надо будет.  smile 

Это сообщение отредактировал(а) Promitheus - 30.3.2007, 15:59
PM MAIL ICQ   Вверх
TupleCa
Дата 30.3.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Цитата(Promitheus @  30.3.2007,  15:58 Найти цитируемый пост)
Это реальная задача или на диплом надо ?

Если на диплом напиши какую-нибудь фигню в качестве объяснения обычно всё равно никто не читает, а выпустить тебя всё равно надо будет.   


вообще на курсовую, но одновременно с этим это реальная задача. есть только разница: для реальной задачи лучше использовать визуальный редактор. А для курсовой лучше придумывать язык и т.д
 smile

Добавлено через 2 минуты и 2 секунды
Цитата(Sergey912 @  30.3.2007,  14:53 Найти цитируемый пост)
скорее это не язык а набор ф-й в которые приходят исходные данные...

ну, вообщем, да. и я то как раз и думаю как сделать именно что-то хоть чуть чуть похожее на не набор функций  smile 
PM   Вверх
Sergey912
Дата 31.3.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



TupleCa, 
Уууу, страшная тема smile Таких "языков" уже, можно на развес продавать... Дипломники же кстати должны отвязаться, ты не докторскую делаешь
а дипломную работу, значит нового придумывать не надо, надо только разобрать готовое и все.

Цитата
ну, вообщем, да. и я то как раз и думаю как сделать именно что-то хоть чуть чуть похожее на не набор функций

Похожее это как? Он и будет набором ф-й и процедур, обсласть задачи определи и ее границы и сделать некоторый процент функция самых простых с запасом(в виде пригодного для распознания синтаксиса, пусть даже примерно в теории), чтобы потом мог кто угодно доделать, врядли от тебя хотят Microsoft Geometry 3.12 с сотней кнопок  smile Или разобрать алгоритм чужой, по нему написать и его предоставить как док-во и источник подтверждающий твою теорию, так даже правильно будет с точки зрения дипломной.

Это сообщение отредактировал(а) Sergey912 - 31.3.2007, 11:27
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1497 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.