Вопросы с тегом «semantics»

Семантика формально описывает значение некоторого синтаксиса.

23
калькуляция с отражением

Я ищу простое исчисление, которое поддерживает рассуждения о рефлексии , а именно, самоанализ и манипулирование запущенными программами. Есть нетипизированная -исчисления расширения , которое позволяет конвертировать -терминов в форму , которая может быть синтаксический манипулирует , а затем...

20
Когда две симуляции не являются бисимуляцией?

Для заданной помеченной системы переходов , где - набор состояний, - набор меток, а - троичное отношение. Как обычно, напишите для . Помеченный переход обозначает, что система в состоянии меняет состояние на с меткой , что означает, что - это некоторое наблюдаемое действие, вызывающее изменение...

18
Проблемы с реализацией замыканий в нефункциональных настройках

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

18
Что такое дробно-подобная запись в «дискретной математике» для формальных правил?

В статье «Бесконфликтный реплицированный тип данных JSON» я встретил эту запись для формального определения «правил»: Как называется эта запись? Как мне это прочитать? Например: DOCправило не имеет ничего в своем «числитель» - почему? то EXECи GETправила , по всей видимости, имеют два отдельных...

16
Непрерывные по Скотту функции: альтернативное определение

Я действительно борюсь с этим свойством: Пусть - пространства когерентности, а - монотонная функция. непрерывен тогда и только тогда, когда , для всех таких, что является направленным множеством.f : C l ( X ) → C l ( Y ) f f ( ⋃ x ∈ D x ) = ⋃ x ∈ D f ( x ) D ⊆ C l ( X )...

15
Может ли язык программы быть достаточно гибким, чтобы позволить программам расширять семантику языка

Что касается функций в таких языках, как ruby ​​(и javascript), которые позволяют программисту расширять / переопределять классы в любое время после его определения (включая классы, такие как String), теоретически выполнимо разработать язык, который позволит программам впоследствии расширяться его...

14
Доказательство слияния для простой системы переписывания

Предположим, у нас есть простой язык, который состоит из терминов: 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 Теперь предположим следующие...

14
На какие вопросы может ответить денотационная семантика, чего не может операционная семантика?

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

13
В чем разница между исчислением и языком программирования?

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

13
что такое семантика?

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

12
Что означает ведущий оператор турникета?

Я знаю, что разные авторы используют разные обозначения для представления семантики языка программирования. На самом деле Гай Стил решает эту проблему в интересном видео . Я хотел бы знать, знает ли кто-нибудь, имеет ли ведущий оператор турникета общепризнанное значение. Например, я не понимаю...

11
Инструмент прототипирования семантики языка программирования

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

11
Предлагая уточнения типов

На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные 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 {...

11
Как обращаться с массивами во время корректных проверок в стиле Хоара

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

10
Начало работы с анализом программ

Я ищу ресурсы для начала работы с анализом программы . Единственная книга, которую я нашел по этой теме, это книга Нильсона и Нильсона . Кроме этого, кажется, что есть только книги по «компиляторам», где «программный анализ» будет главой или чем-то в этом роде. Знают ли люди о каких-либо других...

9
Является ли подсчет ссылок GC против трассировки GC свойством языка или свойством реализации?

Мы иногда слышим: «Swift не выполняет классическую (отслеживание) GC, он использует ARC». Но я не уверен, что в семантике Swift есть что-то, что требует подсчета ссылок. Кажется, что можно использовать собственный компилятор Swift и среду выполнения, чтобы использовать трассировку GC. Так что же...

9
Что такое семантика языка программирования?

В главе 1 « Практических основ языков программирования» автор упоминает, что абстрактные синтаксические деревья связаны с сортировками . Интуитивно, сортировки похожи на типы, но я хотел бы знать, есть ли у них точное определение. Я был бы рад, если бы некоторые ссылки были также...

9
Почему состояние остается неизменным в небольшой семантике операционного цикла while?

Обычно я вижу, что в представлении структурной операционной семантики для цикла while состояние программы не изменяется: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S)...