<html>
<head>
<meta content="text/html; charset=koi8-r" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Иван, вам язык этот для каких целей ?. Может что-то по типу DSL
подойдет, зачем усложнять что-то ? <br>
<br>
<div class="moz-cite-prefix">On 01/14/2015 01:40 PM, Харпалёв Иван
wrote:<br>
</div>
<blockquote
cite="mid:CAMxGQeQc=xbZv09=qov58RFBqxTRx-9d8QsQAaRfFJ70g4S-MQ@mail.gmail.com"
type="cite">
<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 moz-do-not-send="true"
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>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
</pre>
</body>
</html>