Альтернативный исполнитель кода 1С

1. bobreks 154 08.03.13 14:59 Сейчас в теме
Начал такую штуку just for fun.

А именно - исполнитель кода 1С.
За основу взят скриптовой язык программирования Ruby и библиотеки Qt.

Ищу единомышленников, для возможности воплотить начавшийся проект в жизнь.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. bobreks 154 11.03.13 21:41 Сейчас в теме
у нас начало немного разное у всех, слышал о программах, которые используют 1С api и команды 1С, в этом случае работаю только как клиенты, некоторые сами пишут движок - трудоемкость в разы повышается.

В моем случае код 1С транслируется в исходные коды Ruby и исполняется уже интерпритатором руби, где все объекты типа ТаблицаЗначений, Массив, Форма заранее описаны в библиотеках. Это позволяет использовать не только просто функции 1С, но еще и фнкции Ruby, а так же симбиоз функций Ruby и 1С.

Например

Массив = Новый Массив;
Массив.Добавить(1);
Массив.Добавить(2);
Массив.Добавить(3);
Массив.Добавить(4);
Массив.Добавить(5);

Массив.map!{|e| e+1}
Показать


Последняя строчка - чисто функция Ruby core, которая делает из массива [1,2,3,4,5] массив [2,3,4,5,6], ну и также почти все функции Ruby доступны
9. ToTMoM 12.11.15 16:42 Сейчас в теме
(7) bobreks, Пример прикольный, да, иногда в 1С такого не хватает как раз. Вопрос в другом - в чем цель? Может просто переписать 1С на ассемблере и без глюков/багов? xD
10. bobreks 154 20.11.15 16:25 Сейчас в теме
(9) ToTMoM,
К сожалению было достаточно трудно одному тянуть разработку и я ее прекратил.
Идея была добавить быстродействие для системы, быстродействие было примерно в 5-6 выше нежели у 1С, добавить полную переносимость на другие системы, Mac, Windows, *nix и любые другие системы поддерживающие opensource пакеты kde и ruby.

Закончил я на функции

Окно = Новое Окно();
Окно.Добавить(/*Тут добавляются элементы*/);


Даже прямо на этом коде 1С написал простенький конфигуратор, который помогал редактировать простые обработки. И тут кончилось время, надо было много работать, а потом и жесткий диск сдох, потом и исходники потерял. Без поддержки, хотя бы моральной, трудно что-то делать)

с Ассемблером трудно работать, так как его трудно переносить на другие системы. Тут нужен язык высокого уровня, а лучше вообще интерпритируемый.
2. bobreks 154 08.03.13 15:01 Сейчас в теме
Конфигуратор
Прикрепленные файлы:
3. bobreks 154 08.03.13 15:01 Сейчас в теме
Выполнение
Прикрепленные файлы:
4. pumbaE 08.03.13 15:14 Сейчас в теме
Полный компилятор языка 1С ?
5. bobreks 154 08.03.13 15:28 Сейчас в теме
На самом деле как и в случае 1С это интерпритатор.
  • На данный момент реализовал только:
  • Массивы
  • Таблицы Значений
  • работы со строками и переменными
  • Объявление/Вызов функций и процедур
  • Циклы для Каждого и Пока.

Сейчас ведется работа над формами и сохранением информации в БД.
6. piloturs 9 10.03.13 22:32 Сейчас в теме
(0) Вам вообще то сюда надо: "qt1L, 2C и прочие "аналоги" 1С."

особого внимания заслуживает ветка "Еще один 1С-совместимый проект." Для тех, кто хочет поржать: приглядитесь к постам некоего JavaIsJunk.
8. ixijixi 1913 12.11.15 16:28 Сейчас в теме
Забавно, как например на Хабре об**рают 1С-прогеров, мол вы не программисты, мол, лучше я на Си-шарп себе фрэймворк наваяю, и буду с ним работать, а по факту видно, что ни одного значимого конкурента на рынке России у 1С не видно.
11. sss999 48 05.05.16 05:31 Сейчас в теме
Крутая штука как минимум,здорово.Восстановил исходники?И как ты смог подцепиться к командам,через ком?
12. bobreks 154 09.06.16 16:16 Сейчас в теме
Все команды были заново переписаны на Ruby с нуля, с того времени делал еще несколько попыток, но это требует слишком много времени для одного человека, так что дальше простого развлечения дело не пошло
13. igormr2 09.05.17 00:47 Сейчас в теме
Отличная идея! Готов поддержать проект (программированием на Ruby и не только) если ещё не поздно.
14. AntonSm 30 12.05.17 10:52 Сейчас в теме
(13) Скорее всего поздно, т.к. уже появился и достаточно развился oscript.io.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот