Описание тега language-theory

1 ответ

Статические типы и преобразования

Предположим, у меня есть язык, похожий на algol, со статическими типами и следующим фрагментом кода: a := b + c * d; где a это поплавок, b целое число, c двойной и d вместе. Затем язык будет конвертировать d долго работать с c, а также b удвоить, чт…
1 ответ

Распознающая сила "современных" регулярных выражений

Какой класс языков действительно распознают современные современные регулярные выражения? Всякий раз, когда существует группа захвата неограниченной длины с обратной ссылкой (например, (.*)_\1) регулярное выражение теперь соответствует нерегулярному…
1 ответ

Теория формальных языков - Автомат

Я задаюсь вопросом о формальных языках. У меня есть своего рода парсер: он читает XML-подобную сериализованную древовидную структуру и превращает ее в многомерный массив. Я имею в виду сходство между используемым алгоритмом и различными типами автом…
23 май '10 в 17:11
10 ответов

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

Например, существуют ли определенные вещи при написании операционной системы, которые не могут быть выполнены на языке полного тестирования?
2 ответа

Контекстная лемма прокачки

Является ли следующий языковой контекст бесплатным? L = {a^i b^k c^r d^s | i+s = k+r, i,k,r,s >= 0} Я пытался придумать грамматику без контекста, чтобы сгенерировать это, но не могу, поэтому я предполагаю, что она не является контекстно-свободной…
1 ответ

Однозначная контекстно-бесплатная грамматика

Я читал контекстную грамматику и столкнулся с неоднозначной грамматикой. Если язык, созданный CFG, имеет более 1 дерева разбора, то CFG является неоднозначной грамматикой. Есть ли способ, которым я могу узнать или доказать, что грамматика однозначна…
6 ответов

Теоретические основы Лисп

Я только начал изучать диалект lisp ( Racket), и я хотел бы знать, есть ли у кого-нибудь ссылка или она может указать мне на теоретические основы семейства языков lisp, под ресурсами я подразумеваю статьи, статьи или книги все, что вы могли придумат…
30 авг '12 в 22:51
6 ответов

В то время как язык

Для моего класса теории вычислительных языков мы получили домашнее задание для реализации фрагмента кода на языке, который имеет только операторы while для управления потоком (нет операторов if). Это главным образом для того, чтобы доказать, что вы …
03 фев '09 в 14:37
2 ответа

Вопрос об оценке языка: Eager Vs. ленивый

Я читал PLAI Ширама, и я застрял в следующих вопросах: Можете ли вы доказать, что нетерпеливые и ленивые режимы всегда будут давать один и тот же ответ? (Шрирам просит взглянуть на язык, который он разработал, но есть ли другой способ доказать это и…
2 ответа

Как написать краткое регулярное выражение для всех строк, содержащих "a", "b"s и "c"s, но не более 2 "b"s и 3 "c"s

Я совсем недавно начал изучать регулярные выражения и пытался написать один для вопроса выше. Это было бы не сложно, если бы ограничения были наложены только на одну букву (например, не более 2 "б" с). Тогда ответ будет: a* c*(b|ε)a* c*(b|ε)a* c* Но…
18 сен '15 в 12:28
12 ответов

Почему точка с запятой не требуется после скрученной скобки?

Я знаю, что точка с запятой необходима после оператора (я говорю о Java, C++ и подобных языках), но не обязательна после скрученной скобки. Почему так? if (a > b) printf("hello!"); // semicolon is mandatory if (a > b) { printf("hello!"); } // …
06 апр '11 в 05:29
6 ответов

В чем преимущество того, что указатель /self является обязательным в явном виде?

В чем преимущество наличия this / self / me указатель обязательно явный? Согласно теории ООП метод должен работать в основном (только?) С переменными-членами и аргументами метода. После этого должно быть проще ссылаться на переменные-члены, чем на в…
2 ответа

Что такое административные переопределения после преобразования CPS?

В контексте преобразования Scheme и CPS у меня возникли небольшие проблемы с определением, какие именно административные переопределения (лямбды): все лямбда-выражения, представленные преобразованием CPS только лямбда-выражения, представленные преоб…
4 ответа

Какова основная область применения интерфейса C#?

У меня возник спор с другим коллегой-программистом по поводу объема интерфейсов. Предположим, у нас есть следующее: public interface IFoo { string Bar { get; set; } } public class SomeFoo: IFoo { public string Bar { get; set; } public SomeFoo(string…
27 янв '11 в 21:13
4 ответа

Почему в C# порядок имеет значение для статической инициализации?

Этот код имеет четко определенное поведение в C# не работает: class Foo { static List<int> to = new List<int>( from ); // from is still null static IEnumerable<int> from = Something(); } Примечание: я не спрашиваю, как исправить эт…
18 мар '09 в 21:29
1 ответ

Найти строку как минимум с n совпадающими элементами

У меня есть список номеров, которые я хочу найти по крайней мере 3 из... вот пример У меня большой список номеров в базе данных sql в формате (например) 01-02-03-04-05-06 06-08-19-24-25-36 и т. д. в основном 6 случайных чисел от 0 до 99. Теперь я хо…
12 июн '11 в 17:11
2 ответа

Алгоритм пересечения регулярных выражений с cfg

Я ищу алгоритм, который выводит, если пересечение регулярного выражения и грамматики свободного контекста пусто или нет. Я знаю, что эта проблема разрешима, однако я не могу найти пример реализации (в псевдокоде). Может ли кто-нибудь предоставить мн…
09 ноя '10 в 14:23
1 ответ

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

Я пытаюсь понять контекстно-зависимые грамматики, и я понимаю, почему такие языки, как {ww | w это строка} {an bn cn | a, b, c являются символами} не являются контекстно-свободными, но я хотел бы знать, является ли язык, подобный нетипизированному л…
2 ответа

Выражения высказывания в VBA

Недавно я пытался написать макрос Excel, и мне нужно было определить, существует ли конкретный лист. Моим оружием выбора для написания скриптов является Python, и мои навыки VBA по общему признанию плохие. Итак, в хорошем питоническом стиле я выбрал…
18 апр '12 в 03:35