RE: Context-free lexer for NM-TRAN
Hi Ruben.
Related: the CRAN package “nonmemica” has a function as.model() that parses
NONMEM control streams. Type “?nonmemica” at the R prompt after loading. See
also https://github.com/MikeKSmith/rspeaksnonmem . Happy to discuss further.
Kind regards,
Tim
Tim Bergsma, PhD
Associate Director
Certara Strategic Consulting
[cid:[email protected]]
m. 860.930.9931
[email protected]<mailto:[email protected]>
Quoted reply history
From: [email protected] <[email protected]> On Behalf Of
Ruben Faelens
Sent: Thursday, June 14, 2018 4:33 AM
To: [email protected]
Subject: [NMusers] Context-free lexer for NM-TRAN
Hi all,
Calling all computer scientists and computer language experts.
In my spare time, I am working on a lexer and parser for NM-Tran. Primarly to
teach myself about grammars and DSL, but perhaps something useful will come out
of this (e.g. a context-sensitive editor with code completion).
When lexing, I am having a hard time describing the keywords used by nm-tran.
Let us take '.EQ.' as an example.
1) It seems that .EQ. is a keyword used to describe a comparison.
2) However, a filename could also be 'foo.eq.bar'
The same thing applies for keywords on the '$ESTIMATION' record. These keywords
could also be used as variable names.
Am I right in saying that NM-TRAN cannot be tokenized with a context-free
lexer? And that I should focus my efforts on building a lexer-less parser? (Or
building my own lexer-parser, see https://en.wikipedia.org/wiki/The_lexer_hack )
I assume building a parser for NM-TRAN was already done in the DDMoRe project,
but I failed to find the source code...
Kind regards,
Ruben Faelens