Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
#1: 2014-03-10 12:06:06 ЛС | профиль | цитата
Выложены http://svn.hiasm.com/packs/RTCG_Win_fork исходные коды кодогенератора RTCG для платформы Windows. Собрать рабочую библиотеку можно при помощи компилятора MinGW v3.4.2 и библиотеки Boost, используя Makefile.
Ссылки для загрузки

[url]magnet:?xt=urn:btih:be556698e689d8cc68114dee6e40304d3016793a&dn=boost.rar[/url]
[url]magnet:?xt=urn:btih:3e48d9b1f7de575d69a1d519a773a5a9820c6034&dn=MinGW-3.4.2.exe.zip[/url]
После открытия ссылок в торрент клиенте добавить peer'a: 31.129.54.82:51413. После этого должна начаться закачка.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:Konst
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2014-03-10 17:44:58 ЛС | профиль | цитата
Nic, не глядел код, только мейкфайл, просто удивило, зачем нужен буст здесь? Если он только ради регексов используется, попробуй копнуть в сторону C++11, там в stl уже есть регексы.
------------ Дoбавленo в 17.44:
[offtop]Netspirit, я уже начал подозревать лису во всех бедах, ан нет, это ты шалишь! [/offtop]
карма: 10
0
Ответов: 4629
Рейтинг: 749
#3: 2014-03-10 17:48:48 ЛС | профиль | цитата
[offtop]Dilm'e отписал в личку, когда посмотрит - кто его знает...[/offtop]
карма: 26

1
Голосовали:Assasin
Главный модератор
Ответов: 2999
Рейтинг: 396
#4: 2014-03-11 01:19:59 ЛС | профиль | цитата
Assasin писал(а):
Если он только ради регексов используется, попробуй копнуть в сторону C++11, там в stl уже есть регексы.

MinGW не содержит штатно библиотеки Regex.
Вот все возможные варианты:
  • mingw-libgnurx
  • msys-regex
  • pcre
  • C++ Boost RegExПри близком рассмотрении Boost мне понравился больше других.
  • карма: 6
    Дорогу осилит идущий. Install/Update HiAsm.NET
    0
    Главный модератор
    Ответов: 2999
    Рейтинг: 396
    #5: 2014-03-12 12:30:37 ЛС | профиль | цитата
    Кодогенератор пересобран с Boost v1.55 и с использованием статической линковки - не надо «таскать» dll'ку за кодогенератором. Ссылка на Boost обновлена в первом посте. Остальные изменения на SVN: http://svn.hiasm.com/packs/RTCG_Win_fork/
    карма: 6
    Дорогу осилит идущий. Install/Update HiAsm.NET
    0
    Главный модератор
    Ответов: 2999
    Рейтинг: 396
    #6: 2014-03-19 14:12:25 ЛС | профиль | цитата
    Добавлена поддержка свойства элемента 5-го типа (список строк). При обращении возвращает массив строк. Подробности: property
    карма: 6
    Дорогу осилит идущий. Install/Update HiAsm.NET
    0
    Гость
    Ответов: 17029
    Рейтинг: 0
    #7: 2014-03-19 15:36:23 правка | ЛС | профиль | цитата


    Редактировалось 4 раз(а), последний 2021-05-21 06:46:24
    карма: 0

    0
    Главный модератор
    Ответов: 2999
    Рейтинг: 396
    #8: 2014-03-21 00:04:37 ЛС | профиль | цитата
    109-227-102-4.dynamic-poo писал(а):
    ... существует ли возможность "безболезненно" добавить поддержку, в качестве имени глобальной переменной, значения других переменных и функций?

    Никогда за всё время использования RTCG не возникало необходимости в подобном. Скорее всего это наследие из FTCG, где иногда используются глобальные переменные как логические флаги. Если это так, то есть альтернатива - это использование глобального массива:
    пример использования

    #hws
    ...
    gvar(flags)
    flags = new array()
    ...
    if(not flags.contain(flagname))
    flags.add(flagname)
    ...
    end
    ...
    Представленный код по условию оператора if(...) отработает только один раз.

    Новые функции для работы с глобальными идентификаторами:
    пример использования

    #hws
    ...
    define('global_flag')
    ...
    trace(ifdef('global_flag')) // равно 1
    trace(ifdef('unknown_flag')) // равно 0
    ...
    Подробности здесь: Дополнительные
    карма: 6
    Дорогу осилит идущий. Install/Update HiAsm.NET
    0
    Главный модератор
    Ответов: 2999
    Рейтинг: 396
    #9: 2014-04-14 23:31:21 ЛС | профиль | цитата
    При реализации пользовательского класса на основе контейнера hiClassContainer.hws, возникли "зацикливания" обхода дерева элементов из-за «сильной» связанности элементов контейнера между собой. Частично, данную проблему удалось решить добавлением в кодогенератор новой функциональности: отложенного вызова одного из методов элемента. Что-то вроде вызова метода doStart() элемента EntryPoint во время начала кодогенерации. Отличие заключается в том, что элемент и метод могут быть любыми и вызов таких методов будет после окончания основного обхода дерева элементов схемы. Для контейнера это позволяет задать метод «финализации» результирующего кода и, например, сохранение его в какой-либо файл, для использования во время компиляции всего проекта. Подробности: element
    карма: 6
    Дорогу осилит идущий. Install/Update HiAsm.NET
    0
    9
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)