mode syntax function (...) {...}
Submitted by Wednesday, 28 September, 2011 - 14:08
on
Hi there,
I am trying to write a mode for a simulator. The syntax looks like
Quasistationary (<options>) {<equations>} Transient (<options>) {<equations>}I'd like to match Quasistationary and Transient separately and somehow handle the <options> and <equations> in different rules. I tried something like:
<SPAN_REGEXP TYPE="KEYWORD3" DELEGATE="QS_OPTION"><BEGIN>Quasistationary\s*\(</BEGIN><END>)</END></SPAN_REGEXP> <SPAN_REGEXP TYPE="KEYWORD3" DELEGATE="QS_EQ"><BEGIN>.*\{</BEGIN><END>}</END></SPAN_REGEXP> <SPAN_REGEXP TYPE="KEYWORD3" DELEGATE="TRANS_OPTION"><BEGIN>Transient\s*\(</BEGIN><END>)</END></SPAN_REGEXP> <SPAN_REGEXP TYPE="KEYWORD3" DELEGATE="TRANS_EQ"><BEGIN>.*{</BEGIN><END>}</END></SPAN_REGEXP>However, the problem with this approach is, that Transient equations (line 4) are captured by the Quasistationary equations (line 2) already.
Any ideas how to solve this?
Thanks in advance
Captainhunt