NONMEM Users Network Archive

Hosted by Cognigen

RE: [NMusers] Context-free lexer for NM-TRAN

From: Tim Bergsma <Tim.Bergsma_at_certara.com>
Date: Thu, 14 Jun 2018 10:42:25 +0000

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:image001.png_at_01D292BB.D57A56F0]
m. 860.930.9931
tim.bergsma_at_certara.com<mailto:tim.bergsma_at_certara.com>

From: owner-nmusers_at_globomaxnm.com <owner-nmusers_at_globomaxnm.com> On Behalf Of Ruben Faelens
Sent: Thursday, June 14, 2018 4:33 AM
To: nmusers_at_globomaxnm.com
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


NOTICE: The information contained in this electronic mail message is intended only for the personal and confidential
use of the designated recipient(s) named above. This message may be an attorney-client communication, may be protected
by the work product doctrine, and may be subject to a protective order. As such, this message is privileged and
confidential. If the reader of this message is not the intended recipient or an agent responsible for delivering it to
the intended recipient, you are hereby notified that you have received this message in error and that any review,
dissemination, distribution, or copying of this message is strictly prohibited. If you have received this
communication in error, please notify us immediately by telephone and e-mail and destroy any and all copies of this
message in your possession (whether hard copies or electronically stored copies). Thank you.

buSp9xeMeKEbrUze




image001.png
(image/png attachment: image001.png)

Received on Thu Jun 14 2018 - 06:42:25 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request_at_iconplc.com. Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.