Макет в мошеннике

Когда я импортирую рецепт Лизры,

import demo::lang::Lisra::Syntax;

Это создает синтаксис:

layout Whitespace      = [\t-\n\r\ ]*; 
lexical IntegerLiteral = [0-9]+ !>> [0-9];
lexical AtomExp        = (![0-9()\t-\n\r\ ])+ !>>  ![0-9()\t-\n\r\ ];

start syntax LispExp
      = IntegerLiteral
      | AtomExp
      | "(" LispExp* ")"
      ;

Сквозьstart syntax-определение, разметка должна игнорироваться вокруг ввода при его разборе, как указано в документации:http://tutor.rascal-mpl.org/Rascal/Declarations/SyntaxDefinition/SyntaxDefinition.html

Тем не менее, когда я печатаю:

rascal>(LispExp)` (something)`

Это дает мнеconcrete syntax fragment ошибка (илиParseError при использованииparse-функция), в отличие от:

rascal>(LispExp)`(something)`

Который успешно разбирает. Я попробовал это как с одной из последних версий Rascal, так и с версией плагина Eclipse. Я что-то здесь не так делаю?

Спасибо.

Ps. Lisra-хparse-функции:

public Lval parse(str txt) = build(parse(#LispExp, txt));

Также не работает на примере:

rascal>parse(" (something)")
|project://rascal/src/org/rascalmpl/library/ParseTree.rsc|(10329,833,<253,0>,<279,60>): ParseError(|unknown:///|(0,1,<1,0>,<1,1>))
    at *** somewhere ***(|project://rascal/src/org/rascalmpl/library/ParseTree.rsc|(10329,833,<253,0>,<279,60>))
    at parse(|project://rascal/src/org/rascalmpl/library/demo/lang/Lisra/Parse.rsc|(163,3,<7,44>,<7,47>))
    at $shell$(|stdin:///|(0,13,<1,0>,<1,13>))

Ответы на вопрос(1)

Ваш ответ на вопрос