|
OFF: Antlr для разбора 1С | ☑ | ||
---|---|---|---|---|
0
TimonXPumbA
25.03.12
✎
19:06
|
Привет.
Существуют ли готовые шаблоны разбора 1С кода для antlr? Есть ли другие готовые способы разобрать код 1с? |
|||
1
Aleksey
25.03.12
✎
19:11
|
Зачем? Точнее в какой код вы собрались преобразовывать?
|
|||
2
Aleksey
25.03.12
✎
19:12
|
Без отрыва от объектов, зачастую код на языке 1С не имеет смысла. Конечно если это что-то чуть сложнее чем hello world.
|
|||
3
H A D G E H O G s
25.03.12
✎
19:15
|
||||
4
TimonXPumbA
25.03.12
✎
19:16
|
(1)
мне нужно полноценное AST-дерево кода на 1С. Есть ли доступные правила и описание синтаксиса 1C в каком-либо формате? |
|||
5
Aleksey
25.03.12
✎
19:17
|
Диплом что ли?
|
|||
6
Новиков
25.03.12
✎
19:17
|
форумом ошибся
|
|||
7
Aleksey
25.03.12
✎
19:18
|
Т.е. ты книгу из 4 страниц мелким почерком хочешь построить в виде дерева? А не заблудишься в этом лесу?
|
|||
8
Aleksey
25.03.12
✎
19:18
|
(6) +1
|
|||
9
TimonXPumbA
25.03.12
✎
19:20
|
||||
10
H A D G E H O G s
25.03.12
✎
19:21
|
(9) Это я там был.
Ну а своим языком, чо это? |
|||
11
Aleksey
25.03.12
✎
19:21
|
(9) Повторяю вопрос. Для каких целей? Кроме Just for fun, трудно найти применение тех букв что вы тут пишите
|
|||
12
H A D G E H O G s
25.03.12
✎
19:23
|
(11) Еще труднее ПОНЯТь значение этих буков.
|
|||
13
TimonXPumbA
25.03.12
✎
19:24
|
Что за вопросы?
Мне нужен человек, который работал с разбором кода на 1С. Ненужно устраивать дискусии зачем и почему на такой простой вопрос. |
|||
14
kryptonite
25.03.12
✎
19:24
|
надо же.. некто из http://habrahabr.ru/post/140179/ несколько месяцев в качестве хобби пишет парсер пхп.
как скучно я живу.. |
|||
15
Aleksey
25.03.12
✎
19:25
|
(13) А что его разбирать, тут все с кодом 1С разбираются. Ты не умничай, ты пальцем покажи что хочешь
|
|||
16
H A D G E H O G s
25.03.12
✎
19:27
|
"Чукча, ты мне не гав, ты собак покорми и смотри - руками ничего не трогай"!
|
|||
17
Aleksey
25.03.12
✎
19:29
|
опять с Баша:
"В своей деятельности я придерживаюсь инженерного подхода, а не научного. Но вот сомнения стали одолевать... Лет пять назад выпала мне халтурка — написать парсер не сильно прямого языка — объектно-ориентроанного расширения SQL. Порекомендовали меня одной конторе, поскольку их штатный программер просидел над этим делом год, нарисовал много схем и, доказав, что это контекстно-зависимая и не LR грамматика, заявил, что быстро написать парсер — дело неподъемное. Я не стал научно доказывать возможность или невозможность, выкинул ANTLR, взял старый добрый bison написал на коленке грамматику, добавил ручками переключение контекстов... Неделя работ. Остальные два месяца занимался стилем форматирования выходного файла. А потом задумался. Штатный программер получил никак не меньше 15000 баксов, и работа осталась "неиспорченной". Такую работу можно было еще работать и работать. А я, как урод, решил проблему за жалкие 2 штуки. Ну и кто после этого дурак?" (с) со старой пятничной ветки |
|||
18
Aleksey
25.03.12
✎
19:31
|
Автор, это я к тому что может у тебя подход неправильный?
|
|||
19
TimonXPumbA
25.03.12
✎
19:32
|
я ошибся, это низкоквалифицированный форум.
/"А что его разбирать, тут все с кодом 1С разбираются/" ты явно не знаешь что такое AST-дерово и для чего оно нужно. Сайонара. |
|||
20
H A D G E H O G s
25.03.12
✎
19:32
|
Чмоки
|
|||
21
Aleksey
25.03.12
✎
19:33
|
(19) Потому что оно в 1С и даром не тарахтела. И перефразируя слова из рекламы, "Умным надо быть, а не казаться". От того что ты знаешь много умных слов - умнее не станешь
|
|||
22
TimonXPumbA
25.03.12
✎
19:34
|
Так у тебя есть тот самый файл с грамматикой на bison?
|
|||
23
TimonXPumbA
25.03.12
✎
19:34
|
Я поспешил с оскорблениями.
|
|||
24
TimonXPumbA
25.03.12
✎
19:36
|
Antlr удобнее потому что уже с ним работал.
Сейчас я заинтересован в готовой грамматике для 1С кода. |
|||
25
Aleksey
25.03.12
✎
19:40
|
(22) Слово баш о чем то говорит?
(23) Опять оттуда Из хабра: прочитал GoF, всего Фаулера, 3-томник Кнута, пересобрал FreeBSD дома, создал с друзьями Agile-группу разработки ММОРПГ, поездил по конференциям, пожал лично руку Торвальдсу пришел устраиваться на работу: — 1С знаете? — … 0_о — До свидания (с) баш |
|||
26
Aleksey
25.03.12
✎
19:41
|
(24) Вот только проблема, врядли здесь найдешь человека которому это нужно
|
|||
27
TimonXPumbA
25.03.12
✎
19:42
|
Я не работаю в области 1С. Разбор нужен для других иследовательских целей. Ты можешь поделиться своими bison наработками? С коммерцией ничего не связано. У тебя есть возможность поделиться своми наработками с открытым миром, разместив их на github.
|
|||
28
Aleksey
25.03.12
✎
19:43
|
(27) Чукча не читатель, чукча писатель?
Нет у меня нет наработок на bison |
|||
29
TimonXPumbA
25.03.12
✎
19:46
|
Оскорбления были оправданы.
|
|||
30
Aleksey
25.03.12
✎
19:48
|
(29) Да ты угадал, здесь сидят ленивые, низкоквалифицированные быдла.
А ты с какого района? Что такой борзый? Семки есть, голубей покормить? |
|||
31
Jolly Roger
25.03.12
✎
19:49
|
||||
32
spock
25.03.12
✎
19:49
|
(19)Грубо, но в большинстве оправданно.
Вот тут пробегало, но неполноценно и старо: http://yandex.ru/yandsearch?clid=9582&text=V8GPGrammar.rar&lr=65 |
|||
33
Эмбеддер
25.03.12
✎
19:50
|
(29) Тут в основном газелисты тусуются
|
|||
34
quest
25.03.12
✎
19:54
|
сделаешь - скажи. Могу скинуть свои наработки. правда мало их :) как обычно на хобби не хвататет времени
|
|||
35
Астероид
25.03.12
✎
19:56
|
когда конфу начнете компилировать в исполняемый файл, позовите.
|
|||
36
quest
25.03.12
✎
19:58
|
(35) а нафига?????
|
|||
37
TimonXPumbA
25.03.12
✎
20:06
|
||||
38
Астероид
25.03.12
✎
20:11
|
ахаха https://www.google.ru/search?sourceid=chrome&ie=UTF-8&q=yeah_wow%40mail.ru гугл знает все :)
|
|||
39
Immortal
25.03.12
✎
20:15
|
предлагаю написать автоопределитель дятлов
|
|||
40
Immortal
25.03.12
✎
20:15
|
для проверки использовать автора топика
|
|||
41
Aleksey
25.03.12
✎
20:18
|
(40) Простите, в качестве эталона чего предлагаешь использовать автора ветки?
Нет, теоретически я догадываюсь в качестве чего, но хотелось бы уточнить" |
|||
42
kotletka
25.03.12
✎
20:23
|
(39)такой определитель уже есть, он сбивает их палками
|
|||
43
syktyk
25.03.12
✎
21:12
|
Мракобесы.
|
|||
44
Torquader
25.03.12
✎
21:14
|
На самом деле, в 1С несколько языковых конструкций, но очень много операторов, которые зависят от контекста переменной, а так как тип переменной нигде явно не определяется, то применять какой-то парсер практически бессмысленно, так как он не сможет вообще дать ответ применим ли тот или иной метод для этого объекта.
Также не стоит забывать, что в 1С есть Goto и хотя это считается дурным тоном, но они частенько используются, чтобы не плодить сложных условий. Также нужно понимать, что большинство "системных" методов 1С работает через её родную библиотеку, и использование их в отрыве от неё будет практически бессмысленно, так как исходные коды закрыты. |
|||
45
andrewks
25.03.12
✎
21:57
|
(44) что ты имеешь в виду под "но очень много операторов, которые зависят от контекста переменной"? сложение/конкатенацию?
|
|||
46
Кирпич
25.03.12
✎
23:02
|
(0) возьми lex и yacc. мне нравится lapg http://lapg.sourceforge.net/
если можно заработать, то у меня готовое уже есть(в смысле разбор кода 1с) |
|||
47
Кирпич
25.03.12
✎
23:04
|
(44) какой наивный парень :)
|
|||
48
xReason
25.03.12
✎
23:08
|
Кирпич. привет, ты не Леха?
|
|||
49
Кирпич
25.03.12
✎
23:10
|
(48) не, я Санёк
|
|||
50
Deon
25.03.12
✎
23:12
|
(48)(49) О! первые 2 сообщения, которые я понял )
|
|||
51
Кирпич
25.03.12
✎
23:13
|
(50) тебе по году рождения понимать не положено )
|
|||
52
Deon
25.03.12
✎
23:14
|
(51) Я ж не 86! Не путай
|
|||
53
Кирпич
25.03.12
✎
23:16
|
(52) и правда. извини )
|
|||
54
xReason
25.03.12
✎
23:17
|
просто у меня друган, у него фамилия - Кирпичев
|
|||
55
Torquader
25.03.12
✎
23:21
|
(45) Просто, если, например, в переменной А у нас справочник, то к нему применимо свойство Code, а если там документ, то DocNum и т.д.
То есть для того, чтобы разобрать код 1С, его нужно исполнять, чтобы знать тип переменной, который известен только во время исполнения. Плюс ещё вставки для работы с OLE-объектами, и для некоторых вообще описание получается из документации к объекту - а код при этом работает, так как IDispatch, в принципе, в описании не нуждается. |
|||
56
Кирпич
25.03.12
✎
23:28
|
(55) ну так вроде нужно только код разобрать, а не угадать какого типа переменные
|
|||
57
Кирпич
25.03.12
✎
23:29
|
да и угадать можно. телепат вон угадывает в семерке и ничо.
|
|||
58
Torquader
25.03.12
✎
23:52
|
(56) Просто "разобрать" код, если неизвестен тип переменной, можно, но результат будет странный, например, метод NewLine (НоваяСтрока), есть у документа и у таблицы значений - действия немного различаются. Когда в контексте вызова не ясно, к какому объекту применяется действие - сложно понять его результат.
С другой стороны, число методов каждого объекта конечно, а сложных присваиваний, операций на стеке, и прочего в 1С нет, так что можно перевести слова в номера методов. |
|||
59
orefkov
26.03.12
✎
01:44
|
(0)
Для семерки же полно валяется, возьми за основу и доточи до V8. Изменений то немного - директивы &НаКлиенте и т.п., Новый, Для Каждого, да обращение по индексу через []. |
|||
60
orefkov
26.03.12
✎
01:46
|
+(59)
Хотя еще булевы выражения добавились. |
|||
61
Кирпич
26.03.12
✎
08:16
|
(58) что за научный бред? какая нафиг разница, что там за методы у таблицы значений и у документа? нужно разобрать код и построить дерево. остальное в процессе выполнения.
|
|||
62
NcSteel
26.03.12
✎
08:20
|
Присоединяюсь к тупым .
Скажите а нах*я? |
|||
63
andrewks
26.03.12
✎
08:21
|
(55) ну дык вроде про компиляцию не озвучивалось (да и какая тут может быть компиляция?)
|
|||
64
andrewks
26.03.12
✎
08:21
|
(61) +1
|
|||
65
orefkov
26.03.12
✎
08:27
|
(62)
Ну, например чтобы сделать нормальный интеллисенсе в Конфигураторе. Ты с семеркой не работал наверное, так что Телепат мимо тебя прошел. |
|||
66
andrewalexk
26.03.12
✎
08:30
|
:) черт...он нас раскрыл...мы низкоквалифицированные программисты...
|
|||
67
NcSteel
26.03.12
✎
08:30
|
(65) Спасибо.
|
|||
68
andrewalexk
26.03.12
✎
08:30
|
(65) :) кстати а в 8 нет телепата?
|
|||
69
Астероид
26.03.12
✎
08:31
|
(66) конфигурасты
|
|||
70
Новиков
26.03.12
✎
08:37
|
я так понъял - это фишку оценят те, кто работал в конфигураторе 7-ки! Там какой то интелисенс есть продвинутый!
Хоть бы скрины хоть кто пропалил, порадовал дедушку! |
|||
71
orefkov
26.03.12
✎
08:42
|
(68)
есть, но платный. |
|||
72
orefkov
26.03.12
✎
08:44
|
(70)
Это сарказм? Штатный 8ый подсказчик и рядом с клюшечным не валялся. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |