Компилятор пролога для .NET

Одна вещь, которую я нашел сбивающей с толку, это то, что "()" - это операторы группировки.

Вот ваша основная объявленная функция.

Пр. 1:

var message = 'SO';

function foo(msg) {
    alert(msg);
}

foo(message);

Функции являются объектами и могут быть сгруппированы. Так что давайте разбрасывать парень вокруг функции.

Пр. 2:

var message = 'SO';

function foo(msg) {  //declares foo
    alert(msg);
}

(foo)(message);     // calls foo

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

Пр. 3.

var message = 'SO';

(function foo(msg) {
    alert(msg);
})(message);          // declares & calls foo

Наконец, нам не нужен этот дополнительный foo, потому что мы не используем имя для его вызова! Функции могут быть анонимными.

Пр. 4.

var message = 'SO';

(function (msg) {   // remove unnecessary reference to foo
    alert(msg);
})(message);

Чтобы ответить на ваш вопрос, вернитесь к примеру 2. Ваша первая строка объявляет некоторую безымянную функцию и группирует ее, но не вызывает ее. Вторая строка группирует строку. Оба ничего не делают. (Первый пример Винсента.)

(function (msg){alert(msg)});  
('SO');                       // nothing.

(foo); 
(msg); //Still nothing.

Но

(foo)
(msg); //works
10
задан Shiraz Bhaiji 27 June 2009 в 19:10
поделиться

2 ответа

Аххм, я погуглил "Prolog.NET" и нашел это (1-й результат, кстати)

Prolog.NET - это полнофункциональный Prolog среда программирования для .NET Фреймворк. Он включает расширенный компилятор с языковыми расширениями и генератор кода, ориентированный на Microsoft Промежуточный язык (MSIL) и интеграция с Visual Studio .NET Интегрированная среда разработки.

2
ответ дан 4 December 2019 в 02:50
поделиться

Если вы не найдете, возможно, вам понадобится этот инструмент Microsoft Oslo (Codename). Это программное обеспечение для создания DSL и отлично работает для разработки синтаксиса диаграмм для компиляторов.

Проверьте эту ссылку http://www.codeproject.com/KB/cs/Oslo_MGrammar.aspx?display=PrintAll

-1
ответ дан 4 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

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