groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From OC <...@ocs.cz>
Subject Re: changing dynamically the name of classes in a source code
Date Sun, 27 Mar 2016 22:25:46 GMT
Well, I can't resist commenting that a programmer would need English anyway :)

That said, can't you simply sublass? Like

===
class Localizeděščřžýáíí extends LinkedList { }

def ěěě=new Localizeděščřžýáíí()
ěěě<<'Hello'
ěěě<<'note that both class and variable names'
ěěě<<'support accented characters all right'
println "${ěěě.class.simpleName} contains $ěěě"
===

As for variables and argument names, you don't need anything at all for the latter, nothing
but 'def' for the former.

All the best,
OC


On 27. 3. 2016, at 17:38, frenchy48 <bamade@in2p3.fr> wrote:

> Before asking a question I'l have first to explain WHY this question.  
> 
> I have been writing a book about programming (for beginners)  
> 
> For the labs I use  a small subset of Groovy  
> now my labs are slightly boring so I decided to write a small graphical
> library to facilitate the design of funnier experiments.  
> 
> This small library is built around about 20 groovy classes and provides a
> simple framework to do some graphical programming.  
> 
> The people going to use this codes are not english speaking people.  
> But it's not a big problem when limiting the use of english to some keywords
> (for, while, if,...) or a limited number of types such as List or Map.  
> 
> But if I introduce more classes it may be a problem.  
> 
> So I started thinking about internationalisation of code.  
> 
> For my limited number of classes I implemented a "methodMissing" feature
> that implements a translation of method names.  
> it works (though error handling is not perfect and can be confusing)  
> 
> Now I was wondering if I could translate the name of this library's classes
> at runtime.
> (there are already languages such as Scratch which are translated in the
> user's language -including keywords ... but I don't need to go that far-)  
> 
> And here are my questions : how to do that and is it worth the trouble?  
> 
> I toyed with the idea of using ASTTransformation but I really don't know how
> to visit my class names and if I can change them at runtime.  
> Since the programming features are limited the students are not going to use
> the constructors of the classes (there are only factories).
> So the only places where the class names should be changed is when declaring
> variables or parameter types.  
> (I could sed the source code but I would rather not)  
> 
> so is this transformation doable? when? (parsing or semantic?) how?
> (performance is not an issue and  students program through the
> groovyconsole)  
> 
> (for sure error handling is going to be even more problematic when the user
> sees a message pertaining to a class which is "under the hood")  
> 
> Any advice?  
> 
> thanks  
> 
> 
> 
> 
> -----
> member of Grumpy Old Programmers
> --
> View this message in context: http://groovy.329449.n5.nabble.com/changing-dynamically-the-name-of-classes-in-a-source-code-tp5732080.html
> Sent from the Groovy Users mailing list archive at Nabble.com.


Mime
View raw message