This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients ncoghlan, terry.reedy
Date 2009-07-17.22:57:53
SpamBayes Score 0.03894591
Marked as misclassified No
Message-id <1247871474.95.0.158161013614.issue6507@psf.upfronthosting.co.za>
In-reply-to
Content
Copying my suggestion (minus examples) over from the python-ideas thread:

We could define it as trying the three modes in order (first 'eval',
then 'single', then 'exec') moving on to the next option if it raises
syntax error:

from dis import dis
def dis_str(source):
  modes = ('eval', 'single', 'exec')
  for mode in modes:
    try:
      c = compile(source, '', mode)
      break
    except SyntaxError:
      if mode is modes[-1]:
        raise
  return dis(c)
History
Date User Action Args
2009-07-17 22:57:55ncoghlansetrecipients: + ncoghlan, terry.reedy
2009-07-17 22:57:54ncoghlansetmessageid: <1247871474.95.0.158161013614.issue6507@psf.upfronthosting.co.za>
2009-07-17 22:57:53ncoghlanlinkissue6507 messages
2009-07-17 22:57:53ncoghlancreate