<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Max,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Take a look at the following project <a href="https://github.com/saleyn/erlcfg">https://github.com/saleyn/erlcfg</a>. Its syntax is very similar to yours and it's got the corresponding lexer/parser grammars there that you could use as the starting point.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Regards,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Serge</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 16, 2016 at 5:19 PM, Max Lapshin <span dir="ltr"><<a href="mailto:max.lapshin@gmail.com" target="_blank">max.lapshin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi.  I'm trying to build a leex + yacc parser for our Flussonic config syntax and have met problem.</div><div><br></div><div>I want to split following text:</div><div><br></div><div><br></div><div>stream s {</div><div>url rtsp://<a href="http://10.1.2.3/h264?user=admin&password=" target="_blank">10.1.2.3/h264?user=admin&password=</a>  rtp=udp;</div><div>}</div><div><br></div><div>into following stream of lexems:</div><div><br></div><div>{stream, 1},</div><div>{string, 1, "s"},</div><div>{'{', 1},</div><div>{url, 2},</div><div>{string, 2, "rtsp://<a href="http://10.1.2.3/h264?user=admin&password=" target="_blank">10.1.2.3/h264?user=admin&password=</a>"},</div><div>{string, 2, "rtp"},</div><div>{eq, 2},</div><div>{string, 2, "udp"},</div><div>{';', 2},</div><div>{'}', 3}</div><div><br></div><div>At least I think that I want it.</div><div><br></div><div>Problem with my approach is that it requires syntax dependent lexical analysis and leex doesn't allow to do it.  If I consider  "=" a split symbol, then first string after keyword url will be splitted. If I consider it a part of string, then it will not split  key=value part of url specification.</div><div><br></div><div>Maybe I'm doing it wrong?</div><div><br></div><div><br></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>