Как напрямую преобразовать программный код высокого / низкого уровня в машинный код?

Я хочу спроектировать и разработать свой собственный язык программирования и компилятор для него. Я все еще студент по математике, который знает C / C ++. Я провел небольшое исследование в Интернете и прочитал некоторые электронные книги, но большинство из них использовали специальные инструменты для преобразования объектного / промежуточного кода в машинный код, большинство из которых объясняли, как использовать ассемблер для преобразования нового языка программирования в машинный код. Есть много учебников / ссылок там, которые «Как преобразовать сборку в коды работы машины» но они пропускают некоторые уровни для новичков. Я хочу немного углубиться в эту тему.
— Предположим, что я разработал свой собственный язык программирования (предположим, что он называется = «МВт«) с правильными синтаксисами и операторами.


Вопрос

Как конвертировать МВт код языка в машинный код напрямую, чтобы сгенерировать исполняемый файл для O / S?

Если вы можете дать очень точный и объяснительный ответ, это очень ценится.
Так как я не студент информатики, мне нужно руководство и пошаговые описания, как и почему?
Если кто-то знает отличную книгу или сайт для этого материала, пожалуйста, ответьте.

  • Вот моя цель это построить систему типа «Вольфрам»
    Mathematica «. Пожалуйста, не вступайте в споры вокруг программирования
    типы языков, такие как — символический, процедурный, числовой и т. д.

Спасибо.

-1

Решение

Ваш вопрос безнадежно расплывчат.

ПРЕДЛОЖЕНИЕ:

Сосредоточьтесь на одном аспекте проблемы. Изучите, как кто-то еще реализовал «язык программирования». Например, скачайте и поэкспериментируйте с этим небольшим, простым интерпретатором BASIC, написанным на C ++:

Или загрузите и изучите любой (или несколько) других примеров здесь:

https://sites.google.com/site/smallbasicinterpreters/source-code

Удачи!

3

Другие решения

Я могу лишь дать некоторые ограниченные рекомендации по этой теме, так как я не знаком с тем, как Mathematica работает внутри компании для разрешения или вычисления ответов из символических выражений. Я полагаю, что раньше я сталкивался с некоторыми книгами по этой теме (системы компьютерной алгебры), но я забыл названия. В целом, эта тема сама по себе немного удалена от компиляции языков до машинного кода в целом, так как я считаю, что результаты интерпретируются указанной системой.

Это, как говорится, однако, для общих компьютерных языков, вы бы хорошо обслужили книгу по теории компилятора, такую ​​как

принципы, методы и инструменты компиляторов Aho / Sethi / Ullman / Lam.

или же

разработка компилятора от Купера / Торчзона

или что-то подобное. В этих книгах, как правило, рассматриваются базовые принципы написания интерфейса синтаксического анализа и преобразования текста в промежуточный язык, который затем можно преобразовать в машинный код с использованием различных стандартных методов.

Надеюсь, это поможет.

1

По вопросам рекламы [email protected]