Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



1Скрипт

Сообщений 1 страница 6 из 6

1

Этот язык умеет работать с массивами и структурами.
Кроме того, на нём можно делать сайты (есть интеграция с web, только я пока с ней не разобрался)

На сайте документации есть примеры, в частности консольная игра "змейка"
http://oscript.io/docs/page/examples

В общем, буду теперь думать, как писать yacc на нём. (Всё как Уткин порекомендовал - перейти со Школьного Алгоритмического Языка на Язык Серьёзных Мужиков 1С)

http://lurkmore.so/images/thumb/b/b5/1c_firefox.jpg/180px-1c_firefox.jpg

Отредактировано Лис (2018-01-03 13:14:47)

0

2

[html]
Помедитировал над пресмыкающимся, в принципе минимум есть:
<br />
<br />
<font color="0x00C000">// Объекты, структуры, массивы</font>
<br />
<br />
Змея = Новый Массив;
<br />
Сегмент = Новый Структура();
<br />
Сегмент.Вставить("Направление", 0);
<br />
Змея.Добавить(Сегмент);
<br />
Консоль.Вывести("Гейм Овер");
<br />
<br />
<font color="0x00C000">// Управляющие конструкции: условия, циклы</font>
<br />
<br />
Если Результат < 0 Тогда
<br />
&nbsp;&nbsp;&nbsp;&nbsp;Результат = Результат * -1;
<br />
Иначе
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
ИначеЕсли ... Тогда
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
КонецЕсли;
<br />
<br />
Пока Длина > 0 Цикл
<br />
&nbsp;&nbsp;&nbsp;&nbsp;Длина = Длина - 1;
<br />
КонецЦикла;
<br />
<br />
Для Сч = 0 По Змея.Количество() - 1 Цикл
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
КонецЦикла;
<br />
Для Каждого Сег Из Змея Цикл
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
&nbsp;&nbsp;&nbsp;&nbsp;Прервать;
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
КонецЦикла;
<br />
<br />
<font color="0x00C000">// Параметры, процедуры и функции</font>
<br />
<br />
Процедура НарисоватьСегмент(Знач Сегмент, Знач Симв)
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
КонецПроцедуры
<br />
<br />
Процедура ПроверитьГраницыСегмента(Сегмент, Поправка = 0)
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
КонецПроцедуры
<br />
<br />
Функция КоординатаЯблокаЛево()
<br />
&nbsp;&nbsp;&nbsp;&nbsp;...
<br />
&nbsp;&nbsp;&nbsp;&nbsp;Возврат ...;
<br />
КонецФункции
<br />
<font color="0x00C000">// Исключения </font>
<br />
ВызватьИсключение "Не удалось создать каталог сборки";
<br />
<br />
Есть исполнитель/класс "Рефлектор"
[/html]

Отредактировано Лис (2017-10-28 16:14:32)

0

3

[html]Компилятор - такой же рекурсивный спуск, как и у Павиа:

<a href="https://github.com/EvilBeaver/OneScript/blob/master/src/ScriptEngine/Compiler/Compiler.cs">src/ScriptEngine/Compiler/Compiler.cs</a>

<br />
<br />
Грамматики нет, но можно увидеть что есть какая-то попытка пообрабатывать исключения (о синтаксисе приходится только догадываться).
<br />
<br />
Пример синтаксиса про исключения есть в юнит-тестах:
<br />
<a href="https://github.com/EvilBeaver/OneScript/blob/master/tests/codestat/try.os">tests/codestat/try.os</a>
<br />
Попытка             //- $entry: 1
<br />
&nbsp;&nbsp;&nbsp;&nbsp;А = 0;          //- $entry: 1
<br />
Исключение          //- $entry: 0
<br />
&nbsp;&nbsp;&nbsp;&nbsp;Б = 0;          //- $entry: 0
<br />
КонецПопытки; //- $entry: 1
<br />
<br />
Как оно работает (там есть список типов, поддерживаемых языком):
<br />
<a href="https://habrahabr.ru/post/223887/">habrahabr, Пишем интерпретатор скрипта и стековую машину</a>

<br />
<br />
базовые типы значений:
<ul>
<li>Неопределено</li>
<li>Строка</li>
<li>Число</li>
<li>Дата</li>
<li>Булево</li>
<li>Объект</li>
<li>Тип</li>
</ul>
[/html]

Отредактировано Лис (2017-10-27 17:21:14)

0

4

[html]"Практическое применение: вам надо написать несложный скрипт под линукс, но никакого языка, кроме 1С вы не знаете. Берете и пишете на 1С."
<br />
<br />
Под windows использовать так:
<br />
<a href="https://infostart.ru/public/327581/">https://infostart.ru/public/327581/</a>
<br />
<br />
Ещё один мёртвый керторианец проект:
<br />
<a href="http://www.gpl2c.ru/">www.gpl2c.ru</a>
<br />
его закапываем, потому что не работает под Linux, а исходники незнамо где (мне лень искать тщательно, а сходу не нашел)
[/html]

Отредактировано Лис (2017-10-27 17:27:14)

0

5

Официальный чат (71 человек):
https://gitter.im/EvilBeaver/OneScript

0

6

Лис написал(а):

на нём можно делать сайты (есть интеграция с web, только я пока с ней не разобрался)


Всё оказалось несложно - http://oscript.io/docs/page/running

OneScript может быть запущен, как CGI-приложение внутри HTTP-сервера (Apache, IIS, nginx, etc...). Этот режим позволяет писать серверные веб-скрипты на языке 1С.

0