https://github.com/alhimik45/diplom-nadip
Forth-like language
https://github.com/alhimik45/diplom-nadip
c-plus-plus concatenative forth
Last synced: 21 days ago
JSON representation
Forth-like language
- Host: GitHub
- URL: https://github.com/alhimik45/diplom-nadip
- Owner: alhimik45
- License: mit
- Created: 2014-04-19T09:16:21.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2014-04-21T12:52:59.000Z (about 11 years ago)
- Last Synced: 2024-12-25T17:14:58.106Z (5 months ago)
- Topics: c-plus-plus, concatenative, forth
- Language: C++
- Homepage:
- Size: 586 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ДИПЛОМНАЯ РАБОТА
----------------**Тема «Интерпретатор обратной польской нотации»**
Было сделано для [НУДО "НАДиП"][1]
Текст работы находится в файле ```diplom.odt```
[Посмотреть онлайн в формате pdf][2]
Код компилятора в байт-код находится в папке ```code/compiler```
Код виртуальной машины находится в папке ```code/VM```
Код средства отладки (REPL) находится в папке ```code/repl```
Всё это было сделано в Borland C++ Builder 6
Скачать архив уже скомпилированных программ [можно тут][3]
Архив содержит файлы:
- rpnc.exe - компилятор в байт-код
- rpnvm.exe - виртуальная машина, исполняет скомпилированный файл
- rpnrepl.exe - [REPL][4] для языка, в wine вроде как не работает
- rtl60.bpl, vcl60.bpl - библиотеки, нужны для работы в wineВ папке ```libs``` находятся библиотеки, написанные на разработанном языке:
1. stdlib.txt - в ней определены базовые функции сравнения, работы со стеком, ввода/вывода
2. math.txt - математические функции и константы: число Пи, его части, тригонометрические функции, возведение в степень, извлечение корня
3. strs.txt - функции работы со строками: копирование, конкатенация, взятие подстроки, сравнение строк
4. arr.txt - работа в массивами: создание диапазона, функции map, filter, свертка массива, суммирование, перемножение, объединение, сортировка.
[1]: http://www.nadip.ru/
[2]: https://drive.google.com/file/d/0Bz7Myw57yQvoT1N5MzFldGdFR28/edit?usp=sharing
[3]: https://docs.google.com/uc?id=0Bz7Myw57yQvoenhYcTM0ZWg2blE&export=download
[4]: http://ru.wikipedia.org/wiki/REPL