IDEA PSI and MPS?

Hello,

IDEA editor for structural languages used PSI. Will JetBrains switch 'languages

concepts' from MPS directly to IDEA?

Thanks!

--

Alexey Efimov, Java Developer

Tops BI

3 comments
Comment actions Permalink

Alexey Efimov wrote:

IDEA editor for structural languages used PSI. Will JetBrains switch

'languages concepts' from MPS directly to IDEA?

Threre are two main problems with such interaction. First, PSI contains

a lot of text specific features, it saves spaces, comments, text ranges

etc. Second problem is with references. In MPS all reference stored

resolved i.e. instead of name we have stored model fqName and node ID

pair, but in PSI not.

0
Comment actions Permalink

Hello Konstantin,

KS> Threre are two main problems with such interaction. First, PSI

KS> contains a lot of text specific features, it saves spaces, comments,

KS> text ranges etc. Second problem is with references. In MPS all

KS> reference stored resolved i.e. instead of name we have stored model

KS> fqName and node ID pair, but in PSI not.

Ok.. But is it posible to implement PSI in MPS language? For example, if

i need to support Epigram in IDEA, MPS can generage PSI code for syntax?

I think, it posible and maybe used to develop languages support in IDEA

--

Alexey Efimov, Java Developer

Tops BI

0
Comment actions Permalink

Alexey Efimov wrote:

Hello Konstantin,

KS> Threre are two main problems with such interaction. First, PSI

KS> contains a lot of text specific features, it saves spaces, comments,

KS> text ranges etc. Second problem is with references. In MPS all

KS> reference stored resolved i.e. instead of name we have stored model

KS> fqName and node ID pair, but in PSI not.

Ok.. But is it posible to implement PSI in MPS language? For example, if

i need to support Epigram in IDEA, MPS can generage PSI code for syntax?

I think, it posible and maybe used to develop languages support in IDEA

Of course it is possible to write generator that will write code for

implementing PSI for one language, you can create language for

describing structure, pretty-printing, name resolving etc. For such task

MPS may be usable.

0

Please sign in to leave a comment.