Имя: Пароль:
1C
1С v8
А нужен кому GoledenParser и его шаблоны генерации кода?
0 quest
 
08.06.12
22:26
1. Да 50% (1)
2. Нет 50% (1)
Всего мнений: 2

Вопрос.
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
ЕЩЕ РАЗ



НИКАКОГО ПОЛОВОГО ОТНЕШЕНИЯ

ГРАМАТИКА

ЯЗЫКА



НЕ

ИМЕЕТ

К

ЭТОЙ

РАЗРАБОТКЕ
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Сик - тьюринг-полный язык, в нём можно сделать всё :-)
Другое дело, что создавать парсеры ручками - занятие во многих случаях неблагодарное, и автоматизировать этот процесс сам бог велел.
Насколько я понял, ТС пока что экспериментирует с этим инструментом. А как оно дальше карта ляжет - зависит от конкретных задач.