{"id":246,"date":"2009-11-19T14:26:04","date_gmt":"2009-11-19T22:26:04","guid":{"rendered":"https:\/\/derickthompson.com\/crono\/?p=246"},"modified":"2009-11-21T23:13:13","modified_gmt":"2009-11-22T07:13:13","slug":"damon-decantes-interpreter","status":"publish","type":"post","link":"https:\/\/derickthompson.com\/crono\/?p=246","title":{"rendered":"Damon Decantes Interpreter"},"content":{"rendered":"<p>After recent interception of a Void fleet by the Marshalship, a boarding team was able to commandeer The Eye of Multiplicity. This vessel, the ship of Damon Decantes, has given us plenty of insight into the workings of his creations and technology. Given his ability not only to multiply, but for each multiple to make full use of an individual&#8217;s productivity, it&#8217;s likely that focusing on deciphering such technology will extremely productive in turn, simply from frequency of exposure.<\/p>\n<p>That thought in mind, I&#8217;ve been working to create an interpreter for the primary language used on his ship. From what I&#8217;ve been able to deduce, it&#8217;s design is meant to be implemented as a simple but efficient functional language, and have been able to create an interpreter within one of our own in turn.<\/p>\n<p>Basic Values thus far have been defined by the following.<\/p>\n<pre>i, j, k \u00e2\u02c6\u02c6 INT ::= ...|-2|-1|0|1|2|...<\/pre>\n<pre>b\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0  \u00e2\u02c6\u02c6 BOOL::= True|False<\/pre>\n<pre>V, W\u00c2\u00a0\u00c2\u00a0  \u00e2\u02c6\u02c6 VAL ::= ()| [] | i | b | V : W | (V1, ..., Vn) | \\ (x1, ..., xn) -&gt; M<\/pre>\n<p>And Expression syntax has been given below.<\/p>\n<pre>x, y, z \u00e2\u02c6\u02c6 VAR ::= ...| x | y | z | ... | temp | ...\r\nM, N, P \u00e2\u02c6\u02c6 EXP ::= V | x\r\n                | not M | M&amp;&amp;N | M || N\r\n                | M==N | M+N | M*N |\r\n                | nil? M | head M | tail M | M : N\r\n                | MN | (M1, ..., Mn)\r\n                | if M then N else P\r\n                | let (x1, ..., xn) = M in N<\/pre>\n<p>Given this expression syntax, there must also be some semblance of constraint rules, otherwise we can come up with garbage expressions (a head or tail operator on something other than a list type, for example).\u00c2\u00a0 Said constraints are upheld within the interpreter with an error wrapper. I&#8217;ll be looking to further this until I&#8217;ve encompassed the full language. Here is the working application thus far.<\/p>\n<p><a href=\"https:\/\/derickthompson.com\/crono\/photos\/projects\/Decantes.zip\">Interpreter Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>After recent interception of a Void fleet by the Marshalship, a boarding team was able to commandeer The Eye of Multiplicity. This vessel, the ship of Damon Decantes, has given us plenty of insight into the workings of his creations and technology. Given his ability not only to multiply, but for each multiple to make [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-246","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=\/wp\/v2\/posts\/246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=246"}],"version-history":[{"count":12,"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=\/wp\/v2\/posts\/246\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=\/wp\/v2\/posts\/246\/revisions\/257"}],"wp:attachment":[{"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/derickthompson.com\/crono\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}