|
А нужен кому GoledenParser и его шаблоны генерации кода? | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
quest
08.06.12
✎
22:26
|
Вопрос.
|
|||||||
1
Новенький_2009
08.06.12
✎
22:27
|
гугл забанили, поэтому =)
Нет |
|||||||
2
quest
08.06.12
✎
22:29
|
забанили... метни ссылко
|
|||||||
3
Лефмихалыч
08.06.12
✎
22:30
|
а что это?
|
|||||||
4
Лефмихалыч
08.06.12
✎
22:33
|
+(3) и зачем это одинэснику
|
|||||||
5
DrShad
08.06.12
✎
22:47
|
че за куйня по сабжу? не ошибся в названии dll?
|
|||||||
6
acsent
08.06.12
✎
23:37
|
инструменты разработчика его юзают
|
|||||||
7
pumbaEO
08.06.12
✎
23:39
|
Да нужен, именно синтаксис 1С, если есть дай...
Да |
|||||||
8
Filippov
09.06.12
✎
06:07
|
||||||||
9
quest
09.06.12
✎
09:52
|
(7) есть. но он не работает.
(8) это язык запросов. А не язык 1С. |
|||||||
10
DrShad
09.06.12
✎
09:54
|
а у меня все работает, отлично раскладывает огроменные запросы в дерево, а отлаживать такие запросы просто сказка
|
|||||||
11
quest
09.06.12
✎
09:54
|
он запросы у тебя раскладывает. А не код 1С.
|
|||||||
12
DrShad
09.06.12
✎
09:56
|
ну да
|
|||||||
13
Bumer
09.06.12
✎
09:57
|
(10)+
|
|||||||
14
Feanor
09.06.12
✎
09:59
|
запилите кто-та скринчег такого дерева, плз
|
|||||||
15
quest
09.06.12
✎
10:01
|
качни инструменты разработчика и смотри вживую
|
|||||||
16
Feanor
09.06.12
✎
10:04
|
(15) понял
|
|||||||
17
DrShad
09.06.12
✎
10:05
|
(16) не ну если не получится, то ты пиши - я выложу
|
|||||||
18
Feanor
09.06.12
✎
10:07
|
(17) ок, спасибо :)
|
|||||||
19
quest
17.06.12
✎
13:45
|
есть желающие потестить и покритиковать шаблон генерирующй код 1С по граматике в голденпарсере?
|
|||||||
20
Genayo
17.06.12
✎
15:17
|
(19) Выкладывай.
|
|||||||
21
quest
17.06.12
✎
20:39
|
||||||||
22
quest
18.06.12
✎
01:56
|
пофиксены найденые ошибки. http://zalil.ru/33461581
|
|||||||
23
quest
18.06.12
✎
02:07
|
и что бы не мучаться с обновлениями - https://github.com/wwall/test
|
|||||||
24
Genayo
18.06.12
✎
12:50
|
И как это тестить?
|
|||||||
25
quest
18.06.12
✎
13:18
|
взять какую нибудь граматику, по ней сгенерить код - и высказать свои пожелания.
|
|||||||
26
MMF
18.06.12
✎
13:21
|
||||||||
27
quest
18.06.12
✎
13:22
|
да видел. по ней и тренируюсь сейчас.
|
|||||||
28
Genayo
18.06.12
✎
13:56
|
Понятно. Грамматику можно было бы и приложить...
|
|||||||
29
quest
18.06.12
✎
14:37
|
да ее любую можно взять. не обязательно ту что MMF указал
|
|||||||
30
Genayo
18.06.12
✎
19:26
|
(29) я вот кроме вышеприведнной больше както не нашел...
|
|||||||
31
quest
18.06.12
✎
20:01
|
??? http://en.wikipedia.org/wiki/GOLD_(parser) - прямо тут простая граматика. Не обязательно же граматику 1С выбирать
|
|||||||
32
chaplin-che
18.06.12
✎
21:30
|
Объясните дураку о чем речь? Что это за инструмент и как использовать?
|
|||||||
33
quest
18.06.12
✎
22:13
|
(32) представь что ты скачал програмный продукт под названием golden parser. Если сложно представить - то просто скачай отсюда - http://www.goldparser.org/builder/index.htm (там по англицки все, но с помощью гугль транслятора разобраться можно, ну иили по старинке -просто прочитать)
Представь что у тебя есть граматика (ну или скачай отсюда любую - http://www.goldparser.org/grammars/index.htm) Представь что у тебя есть последовательносить символов (например для граматики http://www.goldparser.org/grammars/files/example-phone-number.zip это "123-456-7890") которую надо разобрать. Ты по этой граматике генерируешь dfa и lalr машины, после чего жмакаешь в меню Project в голден парсере подменю Create a skeleton programm и в появившемся окне выбираешь 1С - 1С .data - grammar module В итоге у тебя появляется файлик с тем именем который ты указал в диалоге сознания. Задача твоя проста и понятна с этого момента - забрать текст из файлика, вставить во вновь созданую обработку, нажать ctrl+F7 увидеть что нет ошибок и после этого высказать пожелания по коду - что поменять надо, от чего отказаться или что добавить Проще уже не знаю как объяснить. Вроде в теме явно указано - для Gold Parser и его шаблоны генерации кода... Может кто сможет доступней объяснить - то велкам |
|||||||
34
quest
18.06.12
✎
22:19
|
+(33) вот стопудово tormozit, orefkov, MMF могут. Но нет их на форуме. Попытай по аське. По идее могут рассказать.
|
|||||||
35
Злопчинский
18.06.12
✎
22:21
|
(33) на редкость тупое и невнятное объяснение
|
|||||||
36
Rie
18.06.12
✎
22:26
|
(33) Ничё не понял.
|
|||||||
37
quest
18.06.12
✎
22:30
|
(35) на редкость тупой и невнятный Злопчинский...
(36) какое из слов не понятно? видео что ли снять которое показывает последовательность действий? |
|||||||
38
Злопчинский
18.06.12
✎
22:31
|
вот объясни мне сущность автомобиля. - накуа мне про разный диаметр колес для начала объяснять.. - это никуа не добавит понять что такое машина.
|
|||||||
39
Злопчинский
18.06.12
✎
22:32
|
(36) ты, оказываетяс как и я - на редкость тупой
|
|||||||
40
Rie
18.06.12
✎
22:32
|
(37) Фсе.
А давай я XText прорекламирую? Возможности - не меньше (если не больше). Или фишка в том, что кто-то не поленился 1СQL-грамматику описать? |
|||||||
41
Злопчинский
18.06.12
✎
22:34
|
(40) я вот сейчас еще больше не понял...
|
|||||||
42
Rie
18.06.12
✎
22:35
|
(41) Я пытаюсь понять - в чём кайф от Golden Parser применительно к 1CQL?
|
|||||||
43
pumbaEO
18.06.12
✎
22:40
|
(40) ну ты загнул, так ведь недалеко и до open-конфигуратора...
|
|||||||
44
Rie
18.06.12
✎
22:41
|
(43) Вот именно! :-)
|
|||||||
45
Rie
18.06.12
✎
22:42
|
+(44) Причём имеем полнофункциональную IDE - со всеми отсюда вытекающими.
|
|||||||
46
pumbaEO
18.06.12
✎
22:45
|
(45) Ладно, подождем 8.3, говорят там будут расширенны параметры выгрузки конфигурации... Это же, можно и конструктор запросов сделать и алтернативные системы версионного контроля прикрутить.
|
|||||||
47
syktyk
18.06.12
✎
22:46
|
1с скоро умрет? Начинаю готовить рис с изюмом!
|
|||||||
48
quest
18.06.12
✎
22:47
|
по шагам действия
1. Качем файл https://github.com/wwall/test/blob/5c72e7a635a9f850349ac92baf32a0d4b0b26895/1C_grammar.pgt 2. выясняем директорию где установлен голденпарсер. предположим это C:\Program Files\GOLD Parser Builder 5 3. в каталог C:\Program Files\GOLD Parser Builder 5\templates ложим ранее скачаный файл 4. Выбираем придуманый вами файл граматики (файл граматики это файл имеющий расширение grm, он находиться на вашем компьютере и если выбрать его в проводнике - открывает в программе golden parser) 5. после того как 3 раза нажмете кнопку Next можно открыть меню project 6. в выпавшем меню выбрать поменю Create a skeleton program 7. В появившемся окне выбрать в выпадающем списке 1С - 1С .data - grammar module 8. нажать кнопку с названием Create 9. указать файл куда сохранить текст программы сгенерированый по вашей граматике 10. открыть этот тектс и понять - что вам не нравиться никакого отношения эта раработка к разборуц кода 1С, разбору текстов запросов 1С не имеет это - возможность по указаной вами граматике получить текст программы которая разбирает текст соответствующий граматике указаной вами например, если взять граматику http://www.goldparser.org/grammars/files/example-phone-number.zip распаковать и открыть то можно увидеть способ определения номера телефона дл US то есть строка "123-456-7890" будет разобрана в структуру 1С содержащую 5 полей. data_0,data_1, data_2, data_3, data_4. |
|||||||
49
quest
18.06.12
✎
22:49
|
ЕЩЕ РАЗ
НИКАКОГО ПОЛОВОГО ОТНЕШЕНИЯ ГРАМАТИКА ЯЗЫКА 1С НЕ ИМЕЕТ К ЭТОЙ РАЗРАБОТКЕ |
|||||||
50
quest
18.06.12
✎
22:49
|
модеры закройте ветку
|
|||||||
51
quest
18.06.12
✎
22:50
|
это просто же 3.14здетс какой-то
вроде и по русски пишу и все равно никуя не понимают |
|||||||
52
Rie
18.06.12
✎
22:51
|
(51) Так а в чём кайф-то? В природе есть много таких генераторов - чем этот тебе так полюбился?
|
|||||||
53
quest
18.06.12
✎
22:52
|
(52) в приложении к 1С назови хоть один? так то бы качнуть и глянуть?
|
|||||||
54
pumbaEO
18.06.12
✎
22:55
|
(53) не кипятись, во первых спасибо, во вторых потестю на выходных.
|
|||||||
55
quest
18.06.12
✎
22:58
|
(54) на почту лучше отпишись. И про ошибку с доступом по индексу к строке уже сообщили. обновление выложу через час.
|
|||||||
56
Злопчинский
18.06.12
✎
22:58
|
а мне повоще непонятно, что генерить? зачем генерит? что это ВООБЩЕ такое? если зеленая - это машина? а если красная? - машина?
|
|||||||
57
Rie
18.06.12
✎
23:00
|
(53) Не суетись. Тема интересная - поэтому и хотелось бы узнать поболее, чем (33) и (48). В частности и особенно в прагматическом плане.
|
|||||||
58
quest
18.06.12
✎
23:00
|
(56) 2 курс универа - теория компиляторов и интерпретаторов.
прсто подумай - какая страшная магия скрыта в инструментах разработчика когда парситься запрос? как оно это делает? почему? и можно ли отказаться от таскания за собой activeX и работы с ним? |
|||||||
59
pumbaEO
18.06.12
✎
23:03
|
(55) ну github не даром же вылаживаеш, если че там и создам тебе задачу.
|
|||||||
60
Rie
18.06.12
✎
23:04
|
(58) Блин... Это всё понятно. Ты с этим поработал - так поделись впечатлениями и планами. Или всё из серии "вот, а вы и не знаете, что пиписька куем называется"?
|
|||||||
61
quest
18.06.12
✎
23:05
|
(57) вполне спокойно и трезво - вот смотри - есть такой инструмент - flex+bison - это способ как-то разобрать текст на составляющие, сформировать код на целевом языке (есть для С/С++/делфи)
То есть не нужно таскать внешние по отношению к прграме темы. То что я сделал - это просто попытка перегнать на 1С код конечного автомата разбирающего текст по указаной граматике без использования внешних по отношению к 1С тенологий (а com соединение все же внешнее) Задача максимум (то чего сейчас нет) добиться что бы код автомата работал быстрее чем activex голденпарсера. Задача минимум - добиться что бы вообще работал. |
|||||||
62
Rie
18.06.12
✎
23:11
|
(61) То есть, не свой DSL и не "расширитель" 1С, а внешнее средство для генерации модулей для парсинга относительно простых текстовых данных?
|
|||||||
63
quest
18.06.12
✎
23:11
|
(60) да нет. пиписька не куем зовется, а гениталией по научному...
я ведь действительно выбрал эту площадку, а не инфорстар, для того что бы другие посмотрели - сказали - где я накосячил... потом выложил бы это на том же инфостарте с ссылкой на гитхаб... вдруг кому понадобиться. да и может подстегнул бы интерес к разработке формальной граматики самого языка 1С. Ведь то что выложено в лохматом 2007 году - уже не удовлетворяет требованиям языка 1С v 8.2 (да и косяк так есть с парсингом выражений типа х(1)[c].OurFunction[1].x()) |
|||||||
64
quest
18.06.12
✎
23:12
|
(62) не обязательно простых. не обязательно DSL даже. Это просто способ построения AST по тексту. с сохранением позиций токена и редукций
|
|||||||
65
Rie
18.06.12
✎
23:17
|
(64) Немного не в тему - но в свете вопроса из (40): а чем Eclipse с XText не приглянулись? Там ведь тоже строится AST (и при небольшой доработке напильником добиваемся фантастических результатов). При этом в качестве бонуса имеет IDE (с Intellisense и прочими вкусностями). (Ещё раз - это именно вопрос о сравнении систем; должны же быть какие-то достоинства и недостатки; или же я до сих пор не понял твою цель).
|
|||||||
66
quest
18.06.12
✎
23:26
|
(66) не добиваемся. Увы. если за эклипс говорить то надо свой плагин писать. с поддержкой отладки, формированием формы по описанию и т.д.
Короче это просто кажется что легко. На самом деле там траблов будет выше крыши. Самый первый - с форматом представления данных. тут проще уж emacs c cedit заюзать. что и планируется в итоге. но цель конкретно этой разработки - дать возможность разбирать указаную граматику. Самый простой пример - прикрутить к своему коду на 1С интерпритатор в терминах 1С. например вместо вычислить("1+1") ты можещь написать мое_вычислить("1+1") где 1 - жто последовательность символов "аб" и получить в реультате "абаб" а не 2 |
|||||||
67
Rie
18.06.12
✎
23:37
|
(66) Добиваемся (это как раз сейчас решаемая задача - DSL для некоей системы, интегрируемой с 1С; писать, естественно, надо - но не чрезмерно; а с учётом среды - так и вообще элегантно всё выходит).
В твоём варианте - уж извини, средства emacs тоже требуют некоей писанины :-) Насчёт конкретной разработки - скачал, буду посмотреть, но не сей секунд (хотя бы потому, что у меня сейчас глубокая ночь :-) Поэтому пока что и задаю вопросы. Из вышесказанного понял, что выигрыш будет, например, при десериализации данных, порождённых на стороне. |
|||||||
68
quest
19.06.12
✎
23:00
|
глянул XText. Штука прикольная, но почему-то не люблю эклипс. Может и переубедю себя конечно.
Но после того как граматику для 1С нормальную сделаю |
|||||||
69
Rie
20.06.12
✎
07:29
|
(68) "Полный комплект" голдпарсера имеется только для Windows? Или под Linux тоже есть (в полном объёме, имеется в виду)? (Или это я где-то протупил и не нашёл?)
|
|||||||
70
quest
20.06.12
✎
08:01
|
(69) только под винду.
|
|||||||
71
Rie
20.06.12
✎
08:07
|
(70) :-(
|
|||||||
72
quest
24.06.12
✎
00:33
|
update git
|
|||||||
73
Сниф
24.06.12
✎
13:02
|
А какое практическое применение? В какой ситуации и при каком виде деятельности может понадобиться?
|
|||||||
74
quest
24.06.12
✎
13:42
|
(73) Любую задачу можно решить несколькими способами. Вот самый просто вариант - есть у тебя файлик для загрузки из клиент-банка. внутри он прост как мычание - имяполя=значение. и разобрать файл можно как делает 1С - последовательно считывать каждую строку, анализировать и обрабатывать. А можно сделать граматику и сразу на этапе загрузки прочитать все в необхидимую для работы структуру.
А в общем случае ответ на твой вопрос - практического смысла нет. Всегда найдется вариант не думать и придумается способ не использовать граматику языка |
|||||||
75
Rie
24.06.12
✎
14:05
|
(74) Язык входных данных может быть и более сложным, чем имя=значение. И в таком случае система, создающая парсер по грамматике, будет далеко не бесполезна. Так что в общем случае - может понадобиться.
|
|||||||
76
Злопчинский
24.06.12
✎
14:57
|
все равно - непонятно. вопрос в (73) по мне так и остался нераскрыт. или делается просто альтернативный вариант чего-то такого, что можно сделать и посредством 1С?
|
|||||||
77
quest
24.06.12
✎
17:30
|
(76) вот wiki:%D1%E8%ED%F2%E0%EA%F1%E8%F7%E5%F1%EA%E8%E9_%E0%ED%E0%EB%E8%E7
куда понятнее - я не знаю. |
|||||||
78
Rie
24.06.12
✎
17:53
|
(76) Ну, поскольку 1Сик - тьюринг-полный язык, в нём можно сделать всё :-)
Другое дело, что создавать парсеры ручками - занятие во многих случаях неблагодарное, и автоматизировать этот процесс сам бог велел. Насколько я понял, ТС пока что экспериментирует с этим инструментом. А как оно дальше карта ляжет - зависит от конкретных задач. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |