Есть ли какие-либо примеры перекачки аннотаций с «реальными» языками?

Насосная аннотация - собственность регулярных языков и контекстно-свободных языков. Но всеми примерами, которые я видел, являются вещи как:

L = {0n1n2n: n ≥ 0}

(который, случайно, не является контекстно-свободным языком).

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

13
задан cletus 26 January 2010 в 01:27
поделиться

4 ответа

Одно практическое использование - это тот факт, что каждый может перестать пытаться построить конечный автомат для распознавания синтаксиса C # или Fortran.

Еще одно практическое использование - это тот факт, что каждый может перестать пытаться построить автомат отключения для распознавания семантики C # или Fortran. (Несмотря на то, что в Фортране, если вы пропустите имя переменной, вы получаете новую переменную бесплатно, новая переменная, вероятно, может не работать с операторами, которые вы закодировали, когда вы собирались назвать одну из ваших объявленных переменных.)

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

l = {0 n 1 n : n ≥ 0} Быть неполноценным языком.

Скобки, сопоставившись в выражении, можно считать аналогичной формой I.E.

L = {([ n ) n : n ≥ 0}

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

Я работал над проектом на небольшом (как в одном) проекте несколько лет назад, где я решил попробовать JDEE (мне дали большую широту в том, чтобы сделать проект, поэтому мой работодатель не сделал Забота о том, какие инструменты были использованы в то время). Стандартный инструмент в то время был Eclipse, и мне было любопытно посмотреть, могу ли я быть более продуктивным с JDEE над стандартным урожаем Java IDES, и учитывая, что я ранее использовал Emacs и, как и производительность, что она обеспечивает в целом (не Надо брать руки с клавиатуры, - это большой плюс на мой взгляд).

Я определенно согласна с тем, что JDEE больше вовлечена настроек: я провел хорошее время, просто получающую настройки, расположенные на моем симпатии (и никогда не попали их полностью, где я хотел), но в конце концов, Когда я чувствовал себя очень продуктивно, используя Eclipse - в основном потому, что я не оказался, нажав на все чертовски, как будто я обычно делаю в каком-либо стандартной Java IDE, которые используются в наши дни.

Управление и организация ресурсов моего проекта (код и другие артефакты, которые необходимы для развертывания), также, казалось, работал намного лучше, когда я использовал JDEE над IDE, так как я только зависел от сценариев сборки муравьев, который мог бы построить , Развертывание, тест и т. Д. И не приходилось беспокоиться о организации моего кода вокруг конкретных предпочтений IDE. Уважаемые, большинство современных удостоверений не страшны в этом отношении, но он просто чувствовал себя хорошо, что мой проект не зависел от IDE вообще для того, чтобы построить, тестировать или развернуть - любой может просто захватить код из репозитория и запустить Это до тех пор, пока муравей был доступен. Работа с JDEE, похоже, толкает вас к такого рода мышление, и я лично предпочитаю это.

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

Один большой недостаток, я мог видеть, чтобы полагаться на JDEE сильно, если вы являетесь частью команды: большинство команд разработки в наши дни полагаются довольно сильно на инструментах и ​​функциях, доступных в IDES, таких как Eclipse и NetBeans (я бы пошел До сих пор, что они немного испортили их), и это, скорее всего, вы столкнетесь с некоторой трением, если вы используете что-то кроме того, с чем работает остальная часть команды.

Конечно ... вы всегда можете попытаться убедить их переключиться :)

-121--3612747-

«Является ли это одним из тех вещей или чисто теоретической ценности с абсолютно никакой практической приложением?»

HRM. Что такое практическое приложение? Вы мудро пометили ваш вопрос «компьютерная наука». Поэтому я полагаю, ваш вопрос предназначен для того, чтобы спросить: «Это практично для компьютерных наук?

, в этом случае ответ ...

Конечно, это так, это преподается как один из первых способов классификации Разные классы сложности языка, за пределами всего лишь «Big-O (что, чецик)». Это показывает, что существуют вопросы, касающиеся вычисления за рамки просто выполнения времени, в этом случае некоторые модели просто не могут вычислить некоторые функции. * Это довольно малое мясовое введение в формальные доказательства относительно теории автоматов.

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

Надеюсь, очевидным фактом является то, что теория вычислений, как и нет, является основой для информатики. Чтобы не понять идею разных классов сложности (Big-O, сам по себе действительно не обрезает) не будет писать смерть компьютерного ученого, но он будет скрывать значительную часть поля из его или ее взгляда.

* Да, обычно проблема остановки отображается как первая, но они никогда не получают его в первый раз.

Что касается, пожалуй, более циничная интерпретация вашего вопроса, в котором вы имеете в виду «какая-либо участие программного обеспечения действительно использовать это?», Мой ответ, конечно, нет. Это часть основания вычислений, а не его приложений. Это не отзыв о его приложениях, а не вообще. Оба равны, благородные ценности.

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

эта python-программа действительна:

print ((((((((((((((((((((((((1))))))))))))))))))))))))

а также все другие эквивалентные утверждения с равным количеством ( слева и ) справа.

Вы не можете построить регулярное выражение для проверки этого, поэтому вам придется использовать синтаксический анализатор.

Это совсем не теоретически. Это причина, по которой вы не можете использовать regex для разбора HTML.

4
ответ дан 2 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

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