On 10/30/2013 01:41 PM, andy pugh wrote:
> Whist not wanting to defend G-code, which is, as you say, horrible as
> a programming language, it does already contain G-codes to switch
> between units and (At least with the LinuxCNC variant) repeating
> patterns are reasonably manageable with the use of subroutines, loops
> and conditionals.

The unit switching (G20/G21) makes life more difficult (IMO) in all
cases where you have to calculate your position in a mixed setup. It is
much easier to associate a unit to a variable and let it be converted
automatically. It is less error-prone.
Secondly, reading G-code that switches between units is a real hell. The
problem is that you have to keep track manually (in your mind) which
unit target is active. Again, very error prone.

The loops and conditionals provided by G-code are, well, archaic. The
format is context-sensitive and uses line numbers to keep track. Moving
things around in a G-code program is a pain.

The reason for a context-free grammar is to make coding more flexible
without having to think about line numbers. A paradigm that has proven
to be very successful.


>> I looked for a meta compiler or generic pre-processor, but could not
>> find anything that satisfied me. Being able to program should be "easy".
> There is an alternative (and possibly more interesting) approach, you
> could develop your meta-language into an alternative interpreter for
> LinuxCNC.
> The interpreter doesn't _have _ to read G-code. It is just that the
> only one we have does so. Pluggable interpreters have been an option
> for a while.

That would certainly be an option for future development. However, my
first milestone was to be compatible with existing setups (primarily to
make my own stuff).

That is to say, I could have written my G-code program that started this
project in two days. Instead I opted for using two weeks making gcmc. :-)

For a future as a secondary/pluggable interpreter, it would be required
to finalize the grammar, discuss required built-in functionality,
discuss how to handle rotational axes and get a grip on all bugs.

I think it would be a great idea, but I do not want to rush things.


-- 
Greetings Bertho

(disclaimers are disclaimed)

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to