help-jel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-jel] question


From: Konstantin L. Metlov
Subject: Re: [Help-jel] question
Date: Thu, 7 Apr 2005 14:32:36 +0200 (CEST)

Dear Damien,

Is there a way to get the list of variables
referenced/used in an expression?

Using the resolver it could be possible:
- create an empty list before compiling
- compiling
 - in getTypeName calls, add the var to the list

Is it right? Is there a better way?
Yes, this is the right way. I'm not sure if there can be anything really better for this task. The method "getTypeName(String name)" of the resolver is called for each of recognized identifiers as soon as they are recognized by the parser. It is really the best place to collect variable names.

One thing to note is that if the variable name contains dots (e.g. looks like "name1.name2.name3") the getTypeName() will be called three times (with arguments "name1", "name1.name2" and "name1.name2.name3"), which reflects the hierarchical (tree-like) structure of DV namespace. In this case, the longest sequence for which getTypeName() still returns a non-null value is considered to be the DV name, but the variables on the preceding level of the hierarchy (e.g. "name1" and "name1.name2" in the above example) must also be defined (e.g. (getTypeName("name1") != null) and (getTypeName("name1.name2")!=null)).

With the best regards,
                          Konstantin.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]