В чем принципиальное различие между семантикой малых и больших операций? Я с трудом понимаю, что это такое, и мотивация для того и
Семантика формально описывает значение некоторого синтаксиса.
В чем принципиальное различие между семантикой малых и больших операций? Я с трудом понимаю, что это такое, и мотивация для того и
Я ищу простое исчисление, которое поддерживает рассуждения о рефлексии , а именно, самоанализ и манипулирование запущенными программами. Есть нетипизированная -исчисления расширения , которое позволяет конвертировать -терминов в форму , которая может быть синтаксический манипулирует , а затем...
Для заданной помеченной системы переходов , где - набор состояний, - набор меток, а - троичное отношение. Как обычно, напишите для . Помеченный переход обозначает, что система в состоянии меняет состояние на с меткой , что означает, что - это некоторое наблюдаемое действие, вызывающее изменение...
В языках программирования замыкания являются популярной и часто желаемой функцией. Википедия говорит (выделение мое): В информатике замыкание (...) - это функция вместе со средой ссылки для нелокальных переменных этой функции. Закрытие позволяет функции обращаться к переменным вне ее...
В статье «Бесконфликтный реплицированный тип данных JSON» я встретил эту запись для формального определения «правил»: Как называется эта запись? Как мне это прочитать? Например: DOCправило не имеет ничего в своем «числитель» - почему? то EXECи GETправила , по всей видимости, имеют два отдельных...
Я действительно борюсь с этим свойством: Пусть - пространства когерентности, а - монотонная функция. непрерывен тогда и только тогда, когда , для всех таких, что является направленным множеством.f : C l ( X ) → C l ( Y ) f f ( ⋃ x ∈ D x ) = ⋃ x ∈ D f ( x ) D ⊆ C l ( X )...
Что касается функций в таких языках, как ruby (и javascript), которые позволяют программисту расширять / переопределять классы в любое время после его определения (включая классы, такие как String), теоретически выполнимо разработать язык, который позволит программам впоследствии расширяться его...
Предположим, у нас есть простой язык, который состоит из терминов: truetrue\mathtt{true} falsefalse\mathtt{false} если являются терминами, тоt1,t2,t3t1,t2,t3t_1,t_2,t_3ift1thent2elset3ift1thent2elset3\mathtt{if}\: t_1 \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 Теперь предположим следующие...
Я знаком с операционной семантикой (как маленькой, так и большой) для определения языков программирования. Я также заинтересован в изучении денотационной семантики, но не уверен, стоит ли это усилий. Буду ли я изучать один и тот же материал с другой точки зрения, или есть понимание, которое я могу...
Я думаю, что я довольно озадачен тем, что называется исчислением и тем, что называется языком программирования. Я склонен думать и, возможно, мне сказали, что исчисление - это формальная система рассуждений об эквивалентности программ. Программы имеют операционную семантику, указанную машиной,...
Есть много популярных языков. Но компьютерные ученые говорят нам, что для того, чтобы точно понять поведение программ на этих языках и однозначно спорить с поведением программы (например, доказать их идентичность), нам нужно перевести их на другой, хорошо понятный язык. Они называют такой язык...
Я знаю, что разные авторы используют разные обозначения для представления семантики языка программирования. На самом деле Гай Стил решает эту проблему в интересном видео . Я хотел бы знать, знает ли кто-нибудь, имеет ли ведущий оператор турникета общепризнанное значение. Например, я не понимаю...
Существует ли какой-либо инструмент для создания прототипа семантики и системы типов языка программирования, который также позволяет выполнять некоторую проверку моделей стандартных свойств, например, правильности типа? Я спрашиваю об этом, потому что я читаю книгу по Alloy, и она предоставляет...
На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные letвыражения, например так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then {...
В дискуссии вокруг этого вопроса Жиль правильно упоминает, что любое доказательство правильности алгоритма, использующего массивы, должно доказывать, что нет доступа к массиву вне пределов; в зависимости от модели времени выполнения это может вызвать ошибку времени выполнения или доступ к...
Я ищу ресурсы для начала работы с анализом программы . Единственная книга, которую я нашел по этой теме, это книга Нильсона и Нильсона . Кроме этого, кажется, что есть только книги по «компиляторам», где «программный анализ» будет главой или чем-то в этом роде. Знают ли люди о каких-либо других...
Мы иногда слышим: «Swift не выполняет классическую (отслеживание) GC, он использует ARC». Но я не уверен, что в семантике Swift есть что-то, что требует подсчета ссылок. Кажется, что можно использовать собственный компилятор Swift и среду выполнения, чтобы использовать трассировку GC. Так что же...
В главе 1 « Практических основ языков программирования» автор упоминает, что абстрактные синтаксические деревья связаны с сортировками . Интуитивно, сортировки похожи на типы, но я хотел бы знать, есть ли у них точное определение. Я был бы рад, если бы некоторые ссылки были также...
Обычно я вижу, что в представлении структурной операционной семантики для цикла while состояние программы не изменяется: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S)...