Subject: Re: Re: [ast-developers] (( x=$y )) warns about efficiency but $(( x=$y
  )) does not
--------


> Why isn't $((...)) compiled into reverse polish notation if the input
> doesn't require expansion?
> 
> 

Currently the shell keeps words that need expansion intact until expansion
is needed.  Thus, a word like foo$((x=$y))$bar isn't precompiled.
In theory this would be possible, but it would require significan change.

I could break up word as a concatenation of ~name, string, $var, "$var", $(var),
"$(var)", $((var)), "$((var))" during parsing which would then allow $((var))
to be stored compiled; but I don't do that.

It might improve performance, but I don't want to put in the time and effort to
find out.  If anyone wants to try this, let me know.



David Korn
[email protected]
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to