rascal

    4зной

    1ответ

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

    1зной

    2ответ

    Предположим, что у нас есть функция, которая извлекает номера строк строк, содержащих хотя бы одно утверждение. Применим визит на большинство случаев data Statement в lang::java::m3::AST: set[int] g

    2зной

    2ответ

    Я работаю с грамматикой Java15 и задаю пару вопросов о том, как работает парсер Rascal и почему некоторые вещи не работают. Учитывая конкретный синтаксис: module tests::Concrete start syntax Compila

    2зной

    1ответ

    Если у меня есть: import demo::lang::Exp::Concrete::WithLayout::Syntax; if ((Exp)`<IntegerLiteral e> + <IntegerLiteral e>` := (Exp)`5 + 6`) { println(e); } Печатается 6. Является ли это возмо

    1зной

    1ответ

    Когда я импортировать рецепт Lisra, import demo::lang::Lisra::Syntax; Это создает синтаксис: layout Whitespace = [\t-\n\r\ ]*; lexical IntegerLiteral = [0-9]+ !>> [0-9]; lexical AtomExp = (![0-9

    2зной

    1ответ

    В настоящее время я заканчиваю математическую DSL на основе кода LaTeX в Rascal. Это означает, что у меня есть много специальных символов ({,},), например, в синтаксисе, показанном ниже, сумма не выде

    2зной

    1ответ

    У меня есть простой грамматики я сконструированный с проблемой, я не знаю, как решить: start syntax Prog = prog: Type Id; syntax Dot = {Id "."}+ ; syntax Id = id: [A-Z_a-z] !>> [0-9A-Z_a-z] \

    0зной

    1ответ

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