Rapture is an interpreter for Rapira (Рапира), a programming language created in the Soviet Union during the 1980s.
функ фибоначи(=>n)
если n = 0 то
возврат 0
все
если n = 1 то
возврат 1
все
возврат фибоначи(n - 1) + фибоначи(n - 2)
конец
values := <* *>
для i от 0 до 10 цикл
values := values + <* фибоначи(i) *>
кц
вывод: values \ Prints <* 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 *>
Rapture supports both the English and Russian variants of Rapira:
output: "Good morning!"
вывод: "Доброе утро"
Rapture was built using Kotlin and ANTLR. The Rapture logo is rendered using the Righteous font.
To run the Rapture REPL:
./rapture
To interpret a file using Rapture:
./rapture filename.rap
What is Rapira?
Rapira (Рапира) is a programming language that was created in the Soviet Union during the 1980s. It was originally designed by Gennady Anatolievich Zvenigorodsky [1].
The original implementation of Rapira was part of Schoolgirl (Shkolnitsa) [1], an educational software system created at the Computing Center of the Siberian Branch of the USSR Academy of Science in Novosibirsk. [2, 3] The Schoolgirl system was developed “in late 1984 by a group of young graduates of the Young Programmers School, mentored by G. Zvenigorodski under the guidance of Andrei Ershov” and accompanied a course meant to teach “the basics of informatics and computing machines.” [2] It supported two languages, Robic and Rapira, used to teach programming to “children from 2nd to 10th grades.” [3]
What computers was Rapira originally used on?
Rapira interpreters existed for the Agat, Korvet, and an unspecified Yamaha computer. [1]
What languages does Rapira support?
Russian, English, and Moldovan variants of Rapira were developed. [1] Rapture only supports the English and Russian variants.
-
Clone this repository:
git clone https://github.com/mattmikolay/rapture.git
-
Build an executable
rapture
application in thebuild/install/rapture/bin
directory:./gradlew installDist
-
If making source code changes, run unit tests:
./gradlew test
[1]: L.S. Baraz, E.V. Borovikov, N.G. Glagoleva, P.A. Zemtsov, E.V. Nalimov, and V.A. Tsikoza. Rapira Programming Language (Язык программирования Рапира). English URL: http://ershov.iis.nsk.su/ru/node/772586 Russian URL: http://ershov.iis.nsk.su/ru/node/772584 (visited on 09/13/2020).
[2]: “Shkolnitsa” – an Application Package for Automation of School Educational Process. URL: https://web.archive.org/web/20160401080544/http://sorucom.karelia.ru/view_thesis.html?id=17&user_id=17 (visited on 09/19/2020).
[3]: Boenig-Liptsin, Margarita. 2015. Making Citizens of the Information Age: A Comparative Study of the First Computer Literacy Programs for Children in the United States, France, and the Soviet Union, 1970-1990. Doctoral dissertation, Harvard University, Graduate School of Arts & Sciences.