Надеюсь, этот вопрос не будет слишком запутанным или расплывчатым. Я знаю, чего хочу в своей голове, поэтому скрестив пальцы, я могу передать это в тексте.
Я ищу язык с синтаксисом моей собственной спецификации, поэтому я предполагаю, что мне нужно будет создать его самому. Последние несколько дней я читал о компиляторах, лексерах, синтаксических анализаторах, языке ассемблера, виртуальных машинах и т. Д., И я изо всех сил пытаюсь разобраться во всем, что мне нужно для достижения моих целей (файл, прикрепленный внизу с некоторые характеристики). По сути, я смертельно запутался в том, какие конкретно инструменты мне нужно будет использовать для продвижения вперед.
Немного предыстории: мы надеемся, что созданный язык будет использован для реализации многопользовательского текстового MUD-сервера. Следовательно, для этого требуется простая встроенная функциональность для создания / поддержки клиентских TCP / IP-соединений, неблокирующего ввода-вывода, доступа к базе данных через SQL или аналогичного. Я также заинтересован в безопасности, поскольку не хочу, чтобы код, написанный для этого языка, мог быть украден и использован широкой публикой без специального программного обеспечения. Это, вероятно, означает, что он должен компилироваться в объектный код
Итак, каковы мои лучшие варианты создания языка, который соответствует этим спецификациям
Мои выводы приведены ниже. Это только мое лучшее обоснованное предположение, поэтому, пожалуйста, оспаривайте меня, если вы думаете, что я иду в неправильном направлении. Я в основном только включаю это, чтобы увидеть, насколько я смущен, когда эксперты приходят, чтобы комментировать.
Для безопасности кода мне нужен язык, который компилируется и запускается на виртуальной машине. Если я сделаю это, у меня будет чертовски много работы, не так ли? Напишите виртуальную машину, язык ассемблера на низкоуровневом, а затем на высокоуровневом уровне, библиотеки кода для работы с IO, сокетами и т. Д., А не с использованием существующих модулей?
Я просто в замешательстве.
Я не уверен, правильно ли я понимаю.
Если бы кто-нибудь хоть немного успокоил мой мозг, я бы искренне это оценил! В качестве альтернативы, если я сбился с курса и есть намного более простой способ сделать это, пожалуйста, дайте мне знать!