{"action":"created","issue":{"url":"https://api.github.com/repos/kevinlawler/kona/issues/423","repository_url":"https://api.github.com/repos/kevinlawler/kona","labels_url":"https://api.github.com/repos/kevinlawler/kona/issues/423/labels{/name}","comments_url":"https://api.github.com/repos/kevinlawler/kona/issues/423/comments","events_url":"https://api.github.com/repos/kevinlawler/kona/issues/423/events","html_url":"https://github.com/kevinlawler/kona/issues/423","id":145019628,"number":423,"title":"\"value error\" for any variable I define.","user":{"login":"genos","id":884550,"avatar_url":"https://avatars.githubusercontent.com/u/884550?v=3","gravatar_id":"","url":"https://api.github.com/users/genos","html_url":"https://github.com/genos","followers_url":"https://api.github.com/users/genos/followers","following_url":"https://api.github.com/users/genos/following{/other_user}","gists_url":"https://api.github.com/users/genos/gists{/gist_id}","starred_url":"https://api.github.com/users/genos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/genos/subscriptions","organizations_url":"https://api.github.com/users/genos/orgs","repos_url":"https://api.github.com/users/genos/repos","events_url":"https://api.github.com/users/genos/events{/privacy}","received_events_url":"https://api.github.com/users/genos/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kevinlawler/kona/labels/bug","name":"bug","color":"d7e102"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-31T21:11:03Z","updated_at":"2016-04-02T14:24:21Z","closed_at":null,"body":"Any variable I define causes `kona` to print `value error`, prior to printing the variable's value.\r\n\r\n      a:1\r\n      a\r\n    value error\r\n    1\r\n\r\nDownloaded latest version as of 2016/03/31, i.e. commit d67d39c"},"comment":{"url":"https://api.github.com/repos/kevinlawler/kona/issues/comments/204725258","html_url":"https://github.com/kevinlawler/kona/issues/423#issuecomment-204725258","issue_url":"https://api.github.com/repos/kevinlawler/kona/issues/423","id":204725258,"user":{"login":"tavmem","id":1459367,"avatar_url":"https://avatars.githubusercontent.com/u/1459367?v=3","gravatar_id":"","url":"https://api.github.com/users/tavmem","html_url":"https://github.com/tavmem","followers_url":"https://api.github.com/users/tavmem/followers","following_url":"https://api.github.com/users/tavmem/following{/other_user}","gists_url":"https://api.github.com/users/tavmem/gists{/gist_id}","starred_url":"https://api.github.com/users/tavmem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tavmem/subscriptions","organizations_url":"https://api.github.com/users/tavmem/orgs","repos_url":"https://api.github.com/users/tavmem/repos","events_url":"https://api.github.com/users/tavmem/events{/privacy}","received_events_url":"https://api.github.com/users/tavmem/received_events","type":"User","site_admin":false},"created_at":"2016-04-02T14:24:21Z","updated_at":"2016-04-02T14:24:21Z","body":"So far, the code examines the initial parse string and then the substrings parsed in the \"recursive descent\" process.  It checks whether \"amend\" is present, and for other conditions that indicate whether a \"value error\" should be reported.  That is clearly not adequate.\r\n\r\nOnce a name is identifed as a potential \"value error\", the code needs to check whether a corresponding entry already exists on the KTREE.  If yes, then no \"value error\" condition exists.\r\n\r\nAn identifed name is in the form of a string.  The entries in the KTREE are interned strings.  It seems more efficient to compare the identifed name as an interned string to the KTREE entries.\r\n\r\nA potential shortcut is the \"interned string pool\".  If a corresponding entry does not already exist in the \"interned string pool\", then it cannot already exist on the KTREE.  (If it does exist in the \"interned string pool\", then it may, or may not, already exist on the KTREE, and the code needs to check the KTREE.)\r\n\r\nTo prevent cluttering the \"interned string pool\" with bogus names, it would be best to check whether the candidate already exists in the \"interned string pool\".  If no, report a \"value errror\", but do not add the entry to the \"interned string pool\".  If yes, then proceed to check whether that interned string exists in the KTREE."}}