[IronPython] A few DLR questions

Dino Viehland dinov at exchange.microsoft.com
Fri Jun 27 18:37:28 CEST 2008

Check out Microsoft.Scripting.Ast.Utils.Assign, Read, Delete.  These all take in a SymbolId which is the name of the global and let you get/set it.

These ultimately just generate calls into a helper which calls back onto your LanguageContext's LookupName, SetName, and RemoveName methods.  You can either use the default implementation (which just gets/sets/deletes from the global scope) or you can override them and get your own custom globals behavior.

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Artur Krosny
Sent: Friday, June 27, 2008 8:08 AM
To: users at lists.ironpython.com
Subject: [IronPython] A few DLR questions


First of all, I am sorry if this is a wrong group, but I
couldn't find a better place to ask questions about DLR.

I am trying to learn how to write a simple compiler which
targets DLR by analising ToyScript sources (and sometimes
looking at IronRuby sources too).

My idea is to use GoldParser to create a parser skeleton
for my learning curve. This allows me to concentrate on a
problem of generating DLR Ast, instead of spending time on
creating a parser by hand. The GoldParser part was rather
easy and a skeleton parser was ready quite quickly.

Now I am trying to "fill it" with a generation of DLR Ast.
I am trying to follow a "ToyScript way" of generating DLR
Ast, adopting its Ast classes and applying required changes.
However I encountered a problem with "Global varaiables".
My language has a statement "PUBLIC <var>[:=<value>]" which
declares a global var. And I fill a little bit "lost" :).
I see how "Local variables" are handled in ToyScript but
I have no idea how to handle globals.

Anyone could point me to the right direction ?


Users mailing list
Users at lists.ironpython.com

More information about the Ironpython-users mailing list