Задача Трассировки (построение графа функций) - страница 6

 
jartmailru:
Собственно, сочетание лексер + парсер- это классика жанра.
По поводу lex/flex/bison/ant-lr не проконсультирую (я даже названий таких не знаю ;-D)-
я писал именно hand-made.

Книга по теме: http://www.piter.com/book.phtml?978546900378

Рекомендую :)

 
jartmailru:
Выбор неправильного средства реализации говорит о непрофессионализме.

Только, если это - выбор специалиста по реализации (в данном случае - профессионального программиста).

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

 
tara:

Вот фрагмент журнала:

Ну да. Почти то что нужно. Вот и у меня:

2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN odd
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->>-4->> IN odd
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN even
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN odd
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->>-4->>-5->> IN odd
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->>-4->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->>-4->> IN even
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN even
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->>-3->> IN odd
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->>-2->> IN decomp
2011.01.23 02:22:31 RetTest (NZDUSD,M10) >-1->> IN OnStart

Выходную трассировочную скобку можно и не показывать. Но она должна быть.

Файлы:
calltest.mq5  2 kb
 
lea:

Книга по теме: http://www.piter.com/book.phtml?978546900378
Рекомендую :)

Эх, что только люди не придумают- лишь бы денег не зарабатывать...
 
sergeev:

1. При парсинге - вызовы по факту сами обнаружатся. Кто с кем и откуда...

2. поэтому пока что это единственное завершенная идея решения.


1. Не обнаружатся. Если вызов по условию, он выяснится только в RunTime.

2. :-)) Эт смотря что нужно. Дерево выражений на входе компилятора и стек вызовов в runtime вроде как совсем разные объекты. Не?

 
jartmailru:
Эх, что только люди не придумают- лишь бы денег не зарабатывать...
+1
 
MetaDriver:

1. Не обнаружатся. Если вызов по условию, он выяснится только в RunTime.

2. :-)) Эт смотря что нужно. Дерево выражений на входе компилятора и стек вызовов в runtime вроде как совсем разные объекты. Не?

1. Да.

2. Да.

Но способ дает хоть какую то структуру кода, без изменения самого кода.
 

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

 
sergeev:

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

Девственность соблюсти не удасться. :-)

Мудрость ::= Способность различать возможное от невозможного.

Держи в прицепе последнюю версию возможного. Выдаёт во вкладке "Эксперты" практически то, что запрашивалось (только печатает снизу вверх)


В логе направление совсем правильное. Сверху вниз.
Файлы:
calltrace.mq5  2 kb
 
MetaDriver:


Решение найдено!

https://www.mql5.com/ru/forum/3031/page1#comment_43919

Причина обращения: