{"id":23,"date":"2008-06-13T15:13:13","date_gmt":"2008-06-13T12:13:13","guid":{"rendered":"http:\/\/brownian.org.ua\/?page_id=23"},"modified":"2008-06-23T17:39:56","modified_gmt":"2008-06-23T14:39:56","slug":"lang_ukrozpiznavannialang_uklang_enparsinglang_en","status":"publish","type":"page","link":"https:\/\/brownian.org.ua\/?page_id=23","title":{"rendered":"\u041f\u0430\u0440\u0441\u0438\u043d\u0433"},"content":{"rendered":"<h3>\u0417\u043d\u043e\u0432\u0443 \u043f\u0440\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441<\/h3>\n<p>\u041c\u0438 \u0432\u0438\u0437\u043d\u0430\u0447\u0438\u043b\u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0442\u0430\u043a\u0438\u043c \u0447\u0438\u043d\u043e\u043c:<\/p>\n<pre lang=\"CONFIG\">\r\n    classes ::= rootdef classdefs\r\n    rootdef ::= rootclass { params }\r\n    classdefs ::= classdef\r\n    classdefs ::= classdefs classdef\r\n    classdef ::= ordclass { params }\r\n    params ::= ratedef\r\n    params ::= ceildef\r\n    params ::= descrdef\r\n    params ::= params params\r\n    ratedef ::= rate = number\r\n    ceildef ::= ceil = number\r\n    descrdef ::= descr = string\r\n    rootclass ::= class classid root\r\n    ordclass ::= class classid parent classid\r\n<\/pre>\n<p>\u041f\u0430\u043c&#8217;\u044f\u0442\u0430\u0454\u043c\u043e, \u0449\u043e \u043c\u0438 \u0432\u0438\u0437\u043d\u0430\u0447\u0438\u043b\u0438 \u0431\u0430\u0437\u043e\u0432\u0456 \u0442\u0438\u043f\u0438 (&#171;<code>rate<\/code>&#171;, &#171;<code>=<\/code>&#171;, &#171;<code>classid<\/code>&#187; \u0442\u043e\u0449\u043e) \u0440\u0430\u043d\u0456\u0448\u0435. \u0429\u0435 \u043d\u0430 \u0435\u0442\u0430\u043f\u0456 \u0441\u043a\u0430\u043d\u0443\u0432\u0430\u043d\u043d\u044f.<\/p>\n<h3>\u041f\u0430\u0440\u0441\u0438\u043d\u0433<\/h3>\n<p>\u0414\u0443\u0436\u0435 \u043f\u0440\u0438\u0454\u043c\u043d\u0430 \u043e\u0441\u043e\u0431\u043b\u0438\u0432\u0456\u0441\u0442\u044c &#171;\u0456\u0434\u0435\u043e\u043b\u043e\u0433\u0456\u0457&#187; \u043c\u043e\u0434\u0443\u043b\u044f <a href=\"http:\/\/pages.cpsc.ucalgary.ca\/%7Eaycock\/spark\/\" target=\"_blank\" title=\"SPARK homepage\">SPARK<\/a>&#160;&#8212; \u0432\u0438\u0437\u043d\u0430\u0447\u0430\u0442\u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0443 \u0440\u044f\u0434\u043a\u0430\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0456\u0457 (docstrings) (\u043f\u0430\u043c&#8217;\u044f\u0442\u0430\u0454\u0442\u0435, \u043c\u0438 \u0442\u0430\u043a\u0438\u043c \u0441\u0430\u043c\u0435 \u0447\u0438\u043d\u043e\u043c \u0432\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0435\u0433\u0443\u0440\u044f\u0440\u043d\u0456 \u0432\u0438\u0440\u0430\u0437\u0438 \u0434\u043b\u044f \u0441\u043a\u0430\u043d\u0443\u0432\u0430\u043d\u043d\u044f).<\/p>\n<pre lang=\"PYTHON\">\r\n#!\/usr\/bin\/env python\r\n\r\nimport spark\r\nimport ast\r\n\r\nclass SimpleParser(spark.GenericParser):\r\n    def __init__(self, start='classes'):\r\n        spark.GenericParser.__init__(self, start)\r\n\r\n    def p_classes(self, args):\r\n        \"\"\" classes ::= rootdef classdefs \"\"\"\r\n        return ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a>(type='classes', kids=args)\r\n\r\n    def p_rootdef(self, args):\r\n        \"\"\" rootdef ::= rootclass { params } \"\"\"\r\n        a = ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a>('root')\r\n        a.classid = args[0][1]\r\n        a.params = args[2]\r\n        return a\r\n\r\n    def p_classdefs(self, args):\r\n        \"\"\"\r\n            classdefs ::= classdef\r\n            classdefs ::= classdefs classdef\r\n        \"\"\"\r\n        a = ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a>(type='classdefs', kids=args)\r\n        return a\r\n\r\n    def p_classdef(self, args):\r\n        \"\"\" classdef ::= ordclass { params } \"\"\"\r\n        a = ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a>('classdef')\r\n        a.classid = args[0][1]\r\n        a.parent = args[0][3]\r\n        a.params = args[2]\r\n        return a\r\n\r\n    def p_params(self, args):\r\n        \"\"\"\r\n            params ::= ratedef\r\n            params ::= ceildef\r\n            params ::= descrdef\r\n            params ::= params params\r\n        \"\"\"\r\n        ret = []\r\n        if len(args) > 1:\r\n            for p in args:\r\n                ret.extend([x for x in p])\r\n            return ret\r\n\r\n        return args\r\n\r\n\r\n    def p_rate(self, args):\r\n        \"\"\" ratedef ::= rate = number \"\"\"\r\n        args[0].value = args[2]\r\n        return args[0]\r\n\r\n    def p_ceil(self, args):\r\n        \"\"\" ceildef ::= ceil = number \"\"\"\r\n        args[0].value = args[2]\r\n        return args[0]\r\n\r\n    def p_descr(self, args):\r\n        \"\"\" descrdef ::= descr = string \"\"\"\r\n        args[0].value = args[2]\r\n        return args[0]\r\n\r\n    def p_rootclass(self, args):\r\n        \"\"\" rootclass ::= class classid root \"\"\"\r\n        return args\r\n\r\n    def p_ordclass(self, args):\r\n        \"\"\" ordclass ::= class classid parent classid \"\"\"\r\n        return args\r\n<\/pre>\n<p>(<code>ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a><\/code> \u0442\u0430\u043a \u0441\u0430\u043c\u043e \u043d\u0435 \u043f\u043e\u0434\u0430\u043d\u043e, \u0432\u0456\u043d \u0442\u0430\u043a \u0441\u0430\u043c\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u043e \u043d\u0435 \u0432\u0456\u0434\u0440\u0456\u0437\u043d\u044f\u0454\u0442\u044c\u0441\u044f \u0432\u0456\u0434 &#171;\u0430\u0432\u0442\u043e\u0440\u0441\u044c\u043a\u043e\u0433\u043e&#187;).<\/p>\n<p>\u041a\u0456\u043b\u044c\u043a\u0430 \u0437\u0430\u0443\u0432\u0430\u0433:<\/p>\n<ol>\n<li>\u0414\u0435\u044f\u043a\u0456 \u043c\u0435\u0442\u043e\u0434\u0438 \u0432\u0435\u0440\u0442\u0430\u044e\u0442\u044c \u043e\u0431&#8217;\u0454\u043a\u0442\u0438 <code>ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a><\/code>, \u0434\u0435\u044f\u043a\u0456 \u0456\u043d\u0448\u0456 \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438, \u0457\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u0456. \u0426\u0435 \u0442\u043e\u043c\u0443, \u0449\u043e \u043c\u0438 \u043d\u0435 \u0445\u043e\u0447\u0435\u043c\u043e \u043c\u0430\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043e <a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a>, \u044f\u043a\u0435 \u043c\u0456\u0441\u0442\u0438\u0442\u044c <em>\u0443\u0441\u0456<\/em> \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0438 \u044f\u043a \u0432\u0443\u0437\u043b\u0438 \u0434\u0435\u0440\u0435\u0432\u0430. \u041c\u0438 \u0445\u043e\u0447\u0435\u043c\u043e \u043c\u0430\u0442\u0438 \u0432\u0443\u0437\u043b\u0430\u043c\u0438 \u043d\u0430\u0448\u043e\u0433\u043e \u0434\u0435\u0440\u0435\u0432\u0430 \u043b\u0438\u0448\u0435 &#171;<code>classes<\/code>&#171;, &#171;<code>root<\/code>&#171;, &#171;<code>classdefs<\/code>&#187; \u0442\u0430 &#171;<code>classdef<\/code>&#171;.<\/li>\n<li>\u0422\u0456 \u043c\u0435\u0442\u043e\u0434\u0438, \u044f\u043a\u0456 \u0432\u0435\u0440\u0442\u0430\u044e\u0442\u044c \u0457\u0445\u043d\u0456 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438, \u0444\u0430\u043a\u0442\u0438\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u044c \u0446\u0456 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0438 \u0431\u0430\u0442\u044c\u043a\u0456\u0432\u0441\u044c\u043a\u0438\u043c \u0432\u0443\u0437\u043b\u0430\u043c (\u043f\u0430\u043c&#8217;\u044f\u0442\u0430\u0454\u043c\u043e, \u0449\u043e <a href=\"http:\/\/pages.cpsc.ucalgary.ca\/%7Eaycock\/spark\/\" target=\"_blank\" title=\"SPARK homepage\">SPARK<\/a> \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0430\u0454 \u0434\u0435\u0440\u0435\u0432\u043e \u0437\u043d\u0438\u0437\u0443 \u0443\u0433\u043e\u0440\u0443).<\/li>\n<li>\u041e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u0456 &#171;<code>classdefs<\/code>&#171;, \u0456 &#171;<code>classdef<\/code>&#187; \u043c\u043e\u0436\u0443\u0442\u044c \u043c\u0430\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438, \u043c\u0435\u0442\u043e\u0434 <code>p_params<\/code> \u0441\u043f\u0438\u0441\u043a\u0438 \u0441\u043f\u0438\u0441\u043a\u0456\u0432 \u0442\u0430 \u0441\u043f\u0438\u0441\u043a\u0438 \u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0456 \u0441\u043f\u0438\u0441\u043a\u0456\u0432 \u044f\u043a \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442. \u0429\u043e\u0431 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0438 &#171;\u0432\u0435\u0440\u0445\u043d\u044c\u043e\u043c\u0443&#187; \u0432\u0443\u0437\u043b\u0443 \u043b\u0438\u0448\u0435 \u043e\u0431&#8217;\u0454\u043a\u0442\u0438 <code>token.Token<\/code>, \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e &#171;\u043f\u0435\u0440\u0435\u043f\u0430\u043a\u043e\u0432\u0443\u0432\u0430\u0442\u0438&#187; \u0442\u0430\u043a\u0456 \u0441\u043f\u0438\u0441\u043a\u0438.<\/li>\n<li>\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438 <code>print args<\/code> \u0443 \u043a\u043e\u0436\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0456 \u0431\u0430\u0447\u0438\u0442\u0438, \u0449\u043e \u0441\u0430\u043c\u0435 \u0454 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0443 \u043a\u043e\u0436\u043d\u043e\u043c\u0443 \u0432\u0438\u043f\u0430\u0434\u043a\u0443; \u0442\u043e\u0434\u0456 \u0431\u0443\u0434\u0443\u0442\u044c \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0456\u0448\u0456 \u043e\u0442\u0456 &#171;<code>args[0][1]<\/code>&#171;.<\/li>\n<\/ol>\n<p>\u041e\u0442\u0436\u0435, \u0449\u043e \u043c\u0438 \u043c\u0430\u0454\u043c\u043e? \u0414\u0438\u0432\u0438\u043c\u043e\u0441\u044f:<\/p>\n<pre lang=\"PYTHON\">\r\n>>> parser = parser.SimpleParser()\r\n>>> parsed = parser.parse(scanned)\r\n>>> print \"Got %s of type '%s'.\" % (parsed, parsed.type)\r\n\r\nGot <ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a> instance at 0xb7c5166c> of type 'classes'.\r\n\r\n>>> print \"It has kids:\\n\\t %s.\" % \\\r\n...        ',\\n\\t'.join ([ '%s of type %s' % (k, k.type) for k in parsed.kids ])\r\n\r\nIt has kids:\r\n         <ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a> instance at 0xb7c519cc> of type root,\r\n         <ast.<a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a> instance at 0xb7c5170c> of type classdefs.\r\n<\/pre>\n<p>\u041d\u0430 \u0446\u044c\u043e\u043c\u0443 \u0435\u0442\u0430\u043f\u0456 \u044f \u0432\u0432\u0430\u0436\u0430\u044e, \u0449\u043e \u043c\u0438 \u043c\u0430\u0454\u043c\u043e <a href=\"http:\/\/en.wikipedia.org\/wiki\/Abstract_syntax_tree\" target=\"_blank\" title=\"Wikipedia -- Abstract Syntax Tree\">AST<\/a> (Abstract Syntax Tree) \u0434\u043b\u044f \u043d\u0430\u0448\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0439\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0443 (\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e\u0433\u043e \u043d\u0430\u0448\u043e\u044e \u0432\u043b\u0430\u0441\u043d\u043e\u044e &#171;\u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0439\u043d\u043e\u044e \u043c\u043e\u0432\u043e\u044e&#187;).<\/p>\n<h3>\u0420\u043e\u0431\u0438\u043c\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u043d\u0456 \u043f\u043e\u043c\u0438\u043b\u043a\u0438<\/h3>\n<p>\u0412\u0438\u0434\u0430\u043b\u0438\u043c\u043e \u0441\u043b\u043e\u0432\u043e &#171;<code>root<\/code>&#187; \u0443 3-\u043c\u0443 \u0440\u044f\u0434\u043a\u0443 \u0456 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u043c\u043e \u0437\u043d\u043e\u0432\u0443. \u043c\u0430\u0454\u043c\u043e:<\/p>\n<pre lang=\"OUTPUT\">\r\nSyntax error at or near `{' token\r\n<\/pre>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0456\u0447\u043d\u043e, \u044f\u043a\u0449\u043e \u0437\u0430\u043c\u0456\u043d\u0438\u043c\u043e &#171;<code>ceil<\/code>&#187; \u043d\u0430 &#171;<code>cello<\/code>&#171;:<\/p>\n<pre lang=\"OUTPUT\">\r\nSyntax error at or near `cello' token\r\n<\/pre>\n<p>\u042f\u043a\u0449\u043e \u0437\u0430\u043c\u0456\u043d\u0438\u043c\u043e &#171;<code>1024<\/code>&#187; \u043d\u0430 &#171;<code>1024foo<\/code>&#171;:<\/p>\n<pre lang=\"OUTPUT\">\r\nSyntax error at or near `foo' token\r\n<\/pre>\n<p>\u042f\u043a\u0449\u043e \u0437\u0430\u043c\u0456\u043d\u0438\u043c\u043e &#171;<code>1024<\/code>&#187; \u043d\u0430 &#171;<code>foo moo bar<\/code>&#187; (\u0442\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430, \u044f\u043a\u0443 \u0441\u043a\u0430\u043d\u0435\u0440 \u043d\u0435 \u0437\u043c\u0456\u0433 \u0440\u043e\u0437\u043f\u0456\u0437\u043d\u0430\u0442\u0438), \u043c\u0430\u0442\u0438\u043c\u0435\u043c\u043e:<\/p>\n<pre lang=\"OUTPUT\">\r\nSyntax error at or near `foo' token\r\n<\/pre>\n<p>\u0417\u043d\u043e\u0432\u0443 \u0436, \u0449\u043e\u0431 \u0434\u043e\u0432\u0456\u0434\u0430\u0442\u0438\u0441\u044f, \u044f\u043a \u043f\u0440\u0438\u043c\u0443\u0441\u0438\u0442\u0438 <a href=\"http:\/\/pages.cpsc.ucalgary.ca\/%7Eaycock\/spark\/\" target=\"_blank\" title=\"SPARK homepage\">SPARK<\/a> \u043f\u0438\u0441\u0430\u0442\u0438 \u043d\u043e\u043c\u0435\u0440\u0438 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u043d\u0438\u0445 \u0440\u044f\u0434\u043a\u0456\u0432, \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0456\u044e \u043d\u0430 \u0441\u0430\u0439\u0442\u0456 \u0430\u0432\u0442\u043e\u0440\u0430 \u043c\u043e\u0434\u0443\u043b\u044f.<\/p>\n<p>\u042f\u043a\u0449\u043e \u043f\u0456\u0434\u0435\u043c\u043e \u0449\u0435 \u0434\u0430\u043b\u0456 \u0456 \u0441\u043f\u0440\u043e\u0431\u0443\u0454\u043c\u043e \u0442\u0430\u043a\u0435?<\/p>\n<pre lang=\"CONFIG\">\r\nclass 1:5 root {\r\n        rate = 10240\r\n        ceil = 20480\r\n}\r\n\r\nclass 1:50 root {\r\n        ceil = 2048\r\n        rate = 1024\r\n}\r\n<\/pre>\n<p>\u0411\u0435\u0437\u0443\u043c\u043e\u0432\u043d\u043e, \u043c\u0430\u0442\u0438\u043c\u0435\u043c\u043e \u043f\u043e\u043c\u0438\u043b\u043a\u0443 &#171;<code>error at or near `root' token<\/code>&#187; \u2014 \u043d\u0430\u0448 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0434\u043e\u0437\u0432\u043e\u043b\u044f\u0454 \u043b\u0438\u0448\u0435 \u043e\u0434\u043d\u0435 \u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043a\u043e\u0440\u0435\u043d\u0435\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0443.<\/p>\n<p>\u0410\u043b\u0435 \u044f\u043a\u0449\u043e \u043d\u0430\u043f\u0438\u0448\u0435\u043c\u043e \u043e\u0442\u0430\u043a?<\/p>\n<pre lang=\"CONFIG\">\r\nclass 1:5 root {\r\n        rate = 10240\r\n        ceil = 20480\r\n}\r\n\r\nclass 1:50 parent 1:7 {\r\n        ceil = 2048\r\n        rate = 1024\r\n}\r\n<\/pre>\n<p>\u041c\u0438 \u0432\u043a\u0430\u0437\u0430\u043b\u0438 &#171;<code>parent 1:7<\/code>&#171;, \u0430\u043b\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0443 \u043d\u0435 \u0456\u0441\u043d\u0443\u0454; \u0446\u0435, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0454 \u043f\u043e\u043c\u0438\u043b\u043a\u043e\u044e. \u0417 \u0442\u043e\u0447\u043a\u0438 \u0437\u043e\u0440\u0443 <a href=\"http:\/\/luxik.cdi.cz\/ devik\/qos\/htb\/\" target=\"_blank\" title=\"HTB Home\"><strong>HTB<\/strong><\/a>.<\/p>\n<p>\u0410\u043b\u0435 \u043f\u0430\u0440\u0441\u0435\u0440 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0440\u043e\u0437\u043f\u0456\u0437\u043d\u0430\u0442\u0438 \u0442\u0430\u043a\u0443 \u043f\u043e\u043c\u0438\u043b\u043a\u0443. \u0426\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u043a\u0440\u043e\u043a\u0443 \u2014 <strong><em><a href=\"?page_id=24\">\u0421\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0456\u0437\u0443<\/a><\/em><\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0417\u043d\u043e\u0432\u0443 \u043f\u0440\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u041c\u0438 \u0432\u0438\u0437\u043d\u0430\u0447\u0438\u043b\u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0442\u0430\u043a\u0438\u043c \u0447\u0438\u043d\u043e\u043c: classes ::= rootdef classdefs rootdef ::= rootclass { params } classdefs ::= classdef classdefs ::= classdefs classdef classdef ::= ordclass { params } params ::= ratedef params ::= ceildef params ::= descrdef params ::= params params ratedef &hellip; <a href=\"https:\/\/brownian.org.ua\/?page_id=23\" class=\"more-link\"><span>Continue reading<span class=\"screen-reader-text\">\u041f\u0430\u0440\u0441\u0438\u043d\u0433<\/span><\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":19,"menu_order":6,"comment_status":"open","ping_status":"open","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/brownian.org.ua\/index.php?rest_route=\/wp\/v2\/pages\/23"}],"collection":[{"href":"https:\/\/brownian.org.ua\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/brownian.org.ua\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/brownian.org.ua\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brownian.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=23"}],"version-history":[{"count":0,"href":"https:\/\/brownian.org.ua\/index.php?rest_route=\/wp\/v2\/pages\/23\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/brownian.org.ua\/index.php?rest_route=\/wp\/v2\/pages\/19"}],"wp:attachment":[{"href":"https:\/\/brownian.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}