:OnTester
.OnTester
:OnTester
.OnTester
Там где : слева еще может быть : и имя класса, справа открывающая скобка, все это может быть приправлено пробелами.
С точкой - слева имя объекта, справа может быть открывающая скобка, может не быть, если свойство.
Там где : слева еще может быть : и имя класса, справа открывающая скобка, все это может быть приправлено пробелами.
С точкой - слева имя объекта, справа может быть открывающая скобка, может не быть, если свойство.
Ясно, в принципе так я и предположил.
Меня больше интересуют формы записи функции double OnTester() и всё, что может быть похоже на это объявление. В общем выстраиваю формулу для регулярных выражений, чтобы выделять начало функции double OnTester().
Пока такой шаблон (применяется при построчном считывании mql5 файла):
(начало слова)(слово "double")(один или несколько пробелов)(слово "OnTester()")
любое количество табуляций и пробелов
double
любое количество табуляций, пробелов и новых строк
OnTester
любое количество табуляций, пробелов и новых строк
(
любое количество табуляций, пробелов и новых строк
)
любое количество табуляций, пробелов и новых строк
{
любое количество табуляций и пробелов
double
любое количество табуляций, пробелов и новых строк
OnTester
любое количество табуляций, пробелов и новых строк
(
любое количество табуляций, пробелов и новых строк
)
любое количество табуляций, пробелов и новых строк
{
Новые строки сразу отбрасываю:
- во-первых - анализирую построчно
- во-вторых - разнесённые double и OnTester по нескольким строкам выглядит как-то не эстетично.
for ( int i = 0 ; i < 5 ; i ++ ) { }Компилируется ;)
Пожалуйста, поделитесь, как в Ваших кодах встречается слово "OnTester".
Например такой вариант:
это стандартная функция - самый безобидный вариант.
А вот, что я нашёл сразу при поиске по статьям:
здесь в одной строке тоже присутствует "OnTester", но смысл абсолютно другой (это уже просто комментарий).
чтобы регулярками искать декларации в исходниках, исходники должны быть специально отформатированы, для этого по крайней мере в некоторых проектах С применяют правила форматирования отличные от mql :-)
int
main ( int argc,char *argv[] )
{
}
/// то есть имена функций/методов всегда с новой строки, тип строкой выше
тогда регулярка находящая функцию выглядит примерно так: ^\s*([_a-zA-Z][_a-zA-Z0-9]*)\s+\(
в вашем случае лучше построить несложный КА который проигнорирует комментарии и всё что внутри вложенных {} () []
PS. Кстати классический ctags должен работать с исходниками mql, не вижу препятствий
чтобы регулярками искать декларации в исходниках, исходники должны быть специально отформатированы, для этого по крайней мере в некоторых проектах С применяют правила форматирования отличные от mql :-)
int
main ( int argc,char *argv[] )
{
}
/// то есть имена функций/методов всегда с новой строки, тип строкой выше
тогда регулярка находящая функцию выглядит примерно так: ^\s*([_a-zA-Z][_a-zA-Z0-9]*)\s+\(
в вашем случае лучше построить несложный КА который проигнорирует комментарии и всё что внутри вложенных {} () []
PS. Кстати классический ctags должен работать с исходниками mql, не вижу препятствий
Буду исходить из того, что пишем мы в MQL5 и никто не использует такие экзотические способы :)
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Всевозможные варианты слова "OnTester"
Dmitry Fedoseev, 2016.10.06 12:38
for ( int i = 0 ; i < 5 ; i ++ ) { }Компилируется ;)
Вот ещё вариант встретился:
/*
//+-------------------------------+
//| |
//+-------------------------------+
double OnTester()
{
...
}
...
*/
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пожалуйста, поделитесь, как в Ваших кодах встречается слово "OnTester".
Например такой вариант:
это стандартная функция - самый безобидный вариант.
А вот, что я нашёл сразу при поиске по статьям:
здесь в одной строке тоже присутствует "OnTester", но смысл абсолютно другой (это уже просто комментарий).