Урок №2 СИНТАКСИС

Урок_2

           Вновь приветствую всех на нашем форекс портале! Сегодня мы разговариваем про синтаксис языка MQL4. И, как  уже говорилось раннее, если Вы программируете на C или C++, то Вы уже очень многое знаете про MQL4. Это потому, что синтаксис MQL4 очень похож на синтаксис C.

           Синтаксис — сторона языка программирования, которая описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию). “Wikipedia

            Т.е. когда мы изучаем синтаксис языка, мы изучаем его грамматику и правила написания, которые состоят из:

  • Форматирование
  • Комментарии
  • Идентификаторы
  • Зарезервированные слова

Разберёмся с каждым из этих пунктов отдельно.

Форматирование текста

          Когда Вы пишите код, Вы можете свободно использовать любое количество пробельных символов: пробелов, табуляций, пустых строк – чтобы делать свой код читаемым и приятным для просмотра.

           Например, следующие коды равнозначны в MQL4:

Untitled-1

Untitled-2

Untitled-3

Но, как Вы видите, первый вариант более читаем и проще воспринимается.

Однако, к любому правилу есть исключения:

1. Запрещено использовать символ переноса строки после знака решётки:

Например, следующая строка неверна:

Untitled-4

             А эта верна:

Untitled-5

2. Запрещено использовать пробельные символы внутри констант, идентификаторов и ключевых слов.

Например, следующая строка верна:

Untitled-6

Здесь “extern” и “int” – ключевые слова, “MA_Period” – идентификатор, а “13″ – константа.
Но об этом подробнее в следующем уроке.

Следующие строки неверны:

Untitled-7

Untitled-8

Untitled-9

 Комментарии

           Чтобы упростить мир программирования (превратить его из невклидового четырёхмерного пространства в евклидово трёхмерное параметрическое) [шутка 😉 — всё проще], в каждом языке программирования есть свой стиль написания комментариев к коду.

             Вы пишите комментарии, которые компилятор игнорирует. Зато код становится понятней.

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

              MQL4 (как и C/C++) использует два типа комментариев:

Однострочные комментарии

           Однострочный комментарий начинается с символов // и заканчивается переходом на новую строку.

           Например:

Untitled-10

Untitled-11

Многострочные комментарии

          Многострочные комментарии начинаются символами /* и заканчиваются символами */

Например:

Untitled-12

                 Однострочные комментарии разрешается вкладывать внутрь многострочных:

Untitled-13

                    Ещё пример:

Untitled-14

                    А вот так нельзя:

Untitled-15

                  Многострочные комментарии вкладывать друг в друга запрещается.

Идентификаторы

          Идентификатор – это имя, которое Вы присвоили своей переменной, константе или функции.

               Например:

Untitled-16

Здесь MA_Period – идентификатор.

Есть несколько правил и ограничений в выборе идентификаторов:

1. Длина идентификатора не должна превышать 31 символа.
2. Идентификатор должен начинаться с буквы (большой или маленькой) или с символа _.
3. В качестве идентификаторов нельзя использовать зарезервированные слова, с которыми мы скоро познакомимся.
4. Идентификаторы чувствительны к регистру. Т.е. MA_Period и ma_Period – это разные идентификаторы.

Рассмотрим несколько примеров:

Untitled-17

 Зарезервированные слова

          Есть “слова”, которые язык использует для определённых целей. Их запрещается использовать в качестве идентификаторов или в любых других целях.

Список зарезервированных слов:

post-798-0-49874600-1346244651

Например следующие строчки кода неверны:

Untitled-18

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

Урок №2 СИНТАКСИС: Один комментарий

  1. Sergey

    Здравствуйте.
    В пункте 2 Запрещено использовать пробельные символы дан пример из трех строк «неверно» написано:
    1) 3; — неверно — не понятно почему, ведь пробела нет.
    2) … пример понятен, вижу пробел между 1 и 3.
    3) extern int MA_Period=13; — не понятно, т.к. нет лишних пробелов и вся строка один в один аналогично строке выше, где написано: верно.
    Может чего не заметил. Только учусь программировать, еще с понятиями знакомлюсь.

Добавить комментарий