Введение
Реализован интерпретатор Lisp, который может работать в интерактивном режиме. Последующая цель — организовать код операционной системы, используя смешанный подход Lisp и Rust. В то же время основная библиотека готова к загрузке и поддержке с использованием Lisp. Проект находится в разработке.
Описание
Этот проект объединяет содержание двух проектов: blog_os и mal. Сейчас реализован интерпретатор Lisp, способный работать в интерактивном режиме.
Последующая цель состоит в том, чтобы организовать код операционной системы с использованием смешанного подхода Lisp и Rust. Основная библиотека готова к использованию Lisp для загрузки и поддержки. Проект находится в процессе разработки.
План функций (не реализовано)
Подробная документация журнала разработки доступна по ссылке: https://www.yuque.com/xiaohao-i0lwb/fn1hxc.
cargo xrun
./gdb.sh
./touchme.sh
В двойных кавычках («word») представлены эти символы как таковые. Double_quote используется для представления двойных кавычек. Вне двойных кавычек слово (возможно, с подчёркиванием) представляет собой синтаксическую часть. Фигурные скобки ({ }) содержат элементы, которые могут повторяться от 0 до бесконечного числа раз. Вертикальные линии (|) обозначают выбор между двумя элементами, аналогично «OR». ::= означает «определено как».
Основные выражения s-выражений:
s_expression ::= atomic_symbol |
| "(" s_expression "."s_expression ")" |
| list
list ::= "(" s_expression < s_expression > ")"
atomic_symbol ::= letter atom_part
atom_part ::= empty | letter atom_part | number atom_part
letter ::= "a" | "b" | " ..." | "z"
number ::= "1" | "2" | " ..." | "9"
empty ::= " "
TODO!! Проблема в том, что определение выше не может хорошо распознавать строки как элементы!!!
Вопрос? Нужно ли использовать концепции syscall и семафоров?
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )