eclipse-langium / langium

Next-gen language engineering / DSL framework

Home Page:https://langium.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Grammar generation logs error with imports and types

cdietrich opened this issue · comments

Create a new hello world grammar

change the hello-world.langium to

grammar HelloWorld

import './hello-metadata'

interface FieldValidation {
    field: @Field;
}

entry Validation: 
    'validate' name=ID '{'
        content+=FieldValidation*
    '}'
;

FieldValidation returns FieldValidation: 
    'on' field=[Field] '{' 
    '}';

create following additional grammars

hello-terminals.langium

hidden terminal WS: /\s+/;
terminal ID: /[_a-zA-Z][\w_-]*/;

hello-metadata.langium

grammar HelloMetadata

import './hello-terminals'

TextType infers DataType:
    name='Text';

BuiltInType:
    TextType;

Type:
    BuiltInType
;

interface Field {
    name: string;
    type: Type;
}

entry Field returns Field:
    'field' name=ID (type=Type) ('{' '}')?;

run langium:generate
the following error is logged to command line

Error: Token "Text" not found."

=> looks like there is something broken in the lexer building

might be another wired variant of #1151