<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2011-12-22:1181104</id>
  <title>Блокнотик Centaur’а</title>
  <subtitle>Yuri Khan</subtitle>
  <author>
    <name>Yuri Khan</name>
  </author>
  <link rel="alternate" type="text/html" href="https://yurikhan.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://yurikhan.dreamwidth.org/data/atom"/>
  <updated>2014-06-24T12:19:22Z</updated>
  <dw:journal username="yurikhan" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2011-12-22:1181104:60263</id>
    <link rel="alternate" type="text/html" href="https://yurikhan.dreamwidth.org/60263.html"/>
    <link rel="self" type="text/xml" href="https://yurikhan.dreamwidth.org/data/atom/?itemid=60263"/>
    <title>О парсерах</title>
    <published>2014-06-24T12:19:22Z</published>
    <updated>2014-06-24T12:19:22Z</updated>
    <category term="mongo"/>
    <category term="soft"/>
    <category term="wellknown"/>
    <category term="jsoncpp"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;p&gt;Есть ровно один канонический интерфейс парсера. На вход подаётся строка или поток символов, на выходе — одно из трёх:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;распарсенный объект и остаток входной строки;&lt;/li&gt;
&lt;li&gt;распарсенный объект и пустая строка, если ничего лишнего не осталось;&lt;/li&gt;
&lt;li&gt;объект ошибки с указанием места во входной строке.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Если вы парсер и ваш интерфейс не позволяет различить первые две ситуации, то эти лучи поноса — вашему разработчику.&lt;/p&gt;

&lt;p&gt;#ненависть #mongo #jsoncpp #wellknown&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=yurikhan&amp;ditemid=60263" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
