Что функции языка требуются на языке программирования сделать компилятором?

Некоторые мои коллеги начали использовать Resharper с того момента на страницах, которые они отредактировали, были ужасны в расположении и удобочитаемости. Я рад сказать, что это не выжило, никто здесь не использует его больше.

Об операторе под рукой я соглашаюсь с Jeffrey Hantin, встроенным - если очень хорошо для такого типа оператора, и решение Whatsit очень приемлемо для. За некоторыми исключениями i (лично) говорят, что методы/функции должны иметь только 1 оператор возврата.

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

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

В заключении: Скажите "нет" Resharper! (да, мне истинно не нравится Resharper, извините.)

8
задан Matthew Scharley 5 October 2009 в 07:14
поделиться

5 ответов

Компилятор может быть написан даже с использованием машины Тьюринга - Универсальная машина Тьюринга в основном является компилятором / интерпретатором любой машины Тьюринга, поэтому любой Полный по Тьюрингу язык должен быть достаточно :)

7
ответ дан 5 December 2019 в 13:00
поделиться

Один из вариантов - цикл чтение-оценка-печать . Это можно использовать для создания многих конструкций более высокого уровня. Я считаю, что LISP выбрал именно этот путь.
Я не уверен в истоках C, но я думаю, что он начался с нескольких системных вызовов для реализации ветвления, циклов, присваивания и односимвольного ввода-вывода и построен на их основе.

2
ответ дан 5 December 2019 в 13:00
поделиться

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

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

4
ответ дан 5 December 2019 в 13:00
поделиться

Я предполагаю, что монтажник сделает разрез.

0
ответ дан 5 December 2019 в 13:00
поделиться

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

Нет требования, чтобы язык был полезен для чего-либо, кроме сам компилируется? Я представляю вам Бесполезный , язык, на котором каждый текст является правильной программой и означает «программу, которая принимает любой ввод и производит сама себя» (это также известно как Бесполезный компилятор) .

0
ответ дан 5 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: