<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Если я правильно понимаю, то возможно вам нужно что-то вроде этого: https://metacpan.org/pod/Marpa::R2</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><span style="font-family: helvetica, arial;">-- </span></div><div id="bloop_sign_1421228673767709952" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">ak</div></div> <div style="color:black"><br>From: <span style="color:black">Харпалёв Иван</span> <a href="mailto:ivan.kharpalev@gmail.com"><ivan.kharpalev@gmail.com></a><br>Reply: <span style="color:black">Moscow.pm group</span> <a href="mailto:moscow-pm@pm.org"><moscow-pm@pm.org>></a><br>Date: <span style="color:black">14 January 2015 at 11:40:40</span><br>To: <span style="color:black">Moscow.pm group</span> <a href="mailto:moscow-pm@pm.org"><moscow-pm@pm.org>></a><br>Subject: <span style="color:black"> Re: [Moscow.pm] Синтаксический анализ на Perl. Транслятор. <br></span></div><br> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>



<title></title>


<div dir="ltr">что-то вроде "f(1,2) + 3"  в {function=>'+',
args=>[{function=>'f', args=>[1, 2]}, 3]}
<div><br></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">14 января 2015 г., 12:34 пользователь
Харпалёв Иван <span dir="ltr"><<a href="mailto:ivan.kharpalev@gmail.com" target="_blank">ivan.kharpalev@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Доброго времени, могучий MoscowPM!
<div><br></div>
<div>Сейчас пишу небольшой язык.</div>
<div>То есть пишу транслятор из него в awk и С. (Сначала в awk,
чтобы потренироваться, а потом в C, там типизация, там
сложнее). </div>
<div><br></div>
<div>Когда язык был совсем примитивный, я его парсил регэкспами и
по рабоче-крестьянски собирал код на целевом языке.</div>
<div>Но язык подростает. И рефакторить оказывается очень
печально.</div>
<div><br></div>
<div>Как я понимаю весь процесс работы транслятора состоит из
стандартных стадий, например:</div>
<div>токенизация</div>
<div>построение дерева разбора</div>
<div>сбор кода на целевом языке из полученного описания.</div>
<div><br></div>
<div>В общем тория у меня хромает и очень интересна. Но первым
делом практика.</div>
<div>Скажите, чем строить дерево синтаксического разбора?</div>
<div>что-то вроде </div>
</div>
</blockquote>
</div>
<br></div>


-- <br>Moscow.pm mailing list<br>moscow-pm@pm.org | http://moscow.pm.org<br></div></div></span></blockquote></body></html>