<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>interpreter | Learn C Games Programming Blog</title>
	<atom:link href="https://learncgames.com/tag/interpreter/feed/" rel="self" type="application/rss+xml" />
	<link>https://learncgames.com</link>
	<description>A blog about C, programming games and my ebook(s).</description>
	<lastBuildDate>Mon, 15 Mar 2021 19:51:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://learncgames.com/wp-content/uploads/2020/03/cropped-favicon-32x32.png</url>
	<title>interpreter | Learn C Games Programming Blog</title>
	<link>https://learncgames.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">181446779</site>	<item>
		<title>Cling &#8211; an interactive C++ interpreter</title>
		<link>https://learncgames.com/cling-an-interactive-c-interpreter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cling-an-interactive-c-interpreter</link>
		
		<dc:creator><![CDATA[David]]></dc:creator>
		<pubDate>Wed, 17 Mar 2021 00:00:57 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Other stuff]]></category>
		<category><![CDATA[interpreter]]></category>
		<guid isPermaLink="false">https://learncgames.com/?p=2897</guid>

					<description><![CDATA[<p>When I first learned to program back in 1976, I had a teletype and a BASIC interpreter. Apart from a couple of years writing BASIC programs in my first job, all my work after that was with compilers. So I&#8217;m a bit rusty with interpreters. The idea is that the interpreter reads a line of [&#8230;]</p>
The post <a href="https://learncgames.com/cling-an-interactive-c-interpreter/">Cling – an interactive C++ interpreter</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></description>
										<content:encoded><![CDATA[<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:93,&quot;href&quot;:&quot;https:\/\/pixabay.com\/users\/markusspiske-670330\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1689066&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:94,&quot;href&quot;:&quot;https:\/\/pixabay.com\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1689066&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260205102120\/https:\/\/pixabay.com\/?utm_source=link-attribution&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 11:50:20&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-15 12:03:43&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-02-27 11:09:00&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-03-14 22:59:27&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-03 19:13:13&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-08 10:51:40&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-12 18:42:27&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-18 05:17:31&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-18 05:17:31&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:95,&quot;href&quot;:&quot;https:\/\/root.cern\/cling&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260119154045\/https:\/\/root.cern\/cling\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 11:50:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 12:03:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-27 11:09:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 22:59:29&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-03 19:13:20&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-08 10:51:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-12 18:42:36&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-17 09:33:41&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-17 09:33:41&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:96,&quot;href&quot;:&quot;https:\/\/codepad.org&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20240520225456\/http:\/\/codepad.org\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 11:50:29&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-15 12:03:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-18 18:50:18&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-22 17:03:56&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-27 11:09:03&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-04 14:43:36&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-08 03:50:33&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-11 04:08:00&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-02 07:52:54&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-05 11:06:00&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-11 16:32:33&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-14 22:22:00&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-18 09:19:35&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-18 09:19:35&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:97,&quot;href&quot;:&quot;https:\/\/ideone.com&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260206115138\/https:\/\/ideone.com\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 21:53:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-15 12:03:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-18 18:50:24&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 17:03:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-27 11:09:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-04 12:21:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 03:50:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-11 04:08:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-02 07:52:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 11:05:59&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-13 18:20:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-17 15:02:07&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-17 15:02:07&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:98,&quot;href&quot;:&quot;https:\/\/root.cern\/doc\/master\/group__Tutorials.html&quot;,&quot;archived_href&quot;:&quot;http:\/\/web-wp.archive.org\/web\/20260206115207\/https:\/\/root.cern\/doc\/master\/group__Tutorials.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-06 21:53:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 12:03:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 13:37:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-01 17:05:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-14 22:59:29&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-03 19:13:20&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-06 23:17:09&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-12 18:42:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 09:33:44&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-17 09:33:44&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'></div>
<figure id="attachment_2900" aria-describedby="caption-attachment-2900" style="width: 300px" class="wp-caption alignleft"><img fetchpriority="high" decoding="async" class="size-medium wp-image-2900" src="https://learncgames.com/wp-content/uploads/2021/03/code-1689066_640-300x200.jpg" alt="Computer screen" width="300" height="200" srcset="https://learncgames.com/wp-content/uploads/2021/03/code-1689066_640-300x200.jpg 300w, https://learncgames.com/wp-content/uploads/2021/03/code-1689066_640.jpg 640w" sizes="(max-width: 300px) 100vw, 300px" /><figcaption id="caption-attachment-2900" class="wp-caption-text">Image by <a href="https://pixabay.com/users/markusspiske-670330/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1689066">Markus Spiske</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1689066">Pixabay</a></figcaption></figure>
<p>When I first learned to program back in 1976, I had a teletype and a BASIC interpreter. Apart from a couple of years writing BASIC programs in my first job, all my work after that was with compilers.</p>
<p>So I&#8217;m a bit rusty with interpreters. The idea is that the interpreter reads a line of code and then executes it; parsing it and calling various routines to execute statements and parse then evaluate expressions. It&#8217;s kind if unusual to do this with C++. <a title="Link to cling at Cern" href="https://root.cern/cling/" target="_blank" rel="nofollow noopener">Cling</a> is built on the top of LLVM and Clang libraries.</p>
<p>This is different to sites like repl.it, <a title="Link to codepad.org" href="https://codepad.org/" target="_blank" rel="nofollow noopener">codepad.org</a> or <a title="Link to Ideone.com" href="https://ideone.com/" target="_blank" rel="nofollow noopener">ideone.com;</a> they compile the whole program and run it. With an interpreter, it runs line by line and you can print out variables at any time.  Interpreters are probably more like debuggers.</p>
<p>As well as C++, cling can execute C, Objective-C and that even less used language Objective-C++.  Developed at Cern it has a very extensive <a title="Link to cling tutorials" href="https://root.cern/doc/master/group__Tutorials.html" target="_blank" rel="nofollow noopener">set of tutorials</a>.</p>The post <a href="https://learncgames.com/cling-an-interactive-c-interpreter/">Cling – an interactive C++ interpreter</a> first appeared on <a href="https://learncgames.com">Learn C Games Programming Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2897</post-id>	</item>
	</channel>
</rss>
