On Thu, Feb 2, 2012, at 08:20 PM, Erik Christiansen wrote: > On 01.02.12 20:32, Kenneth Lerman wrote: > > 3 -- A semantic analyzer (whether rule based or coded) will be necessary. > > Do you want to prove some property of the gcode program, such as whether > it will ever reach the end?
I've only been loosely following this thread, for example I'm not sure of the precise distinction between lexer and parser, etc., nor have I been keeping track of who wants to do what. But I want to put my 2 cents in. I think the "property of a g-code program" that a machinist is most interested in is "will it run on my machine". That implies far more checking than a simple parser would do. For example, G1 without a feedrate set is an error, and needs a meaningful error message. Doesn't matter to the machinst which stage in the parsing/interpreting process generates the error. Likewise for arcs that fail because the numbers aren't precise enough and the endpoint doesn't line up, or an offset toolpath that causes gouging. If you are going to invent a black box (parser, whatever) that takes in some new dialog and spits out g-code, without doing all the checks that the interpreter eventually will do, please think about the machinist. When the interpreter eventually does spit out an error that says "G3 line 125 endpoint doesn't match", will the user be able to correlate that to the error in his actual program? Especially if the new dialect doesn't even use the term "G3", or if the translator doesn't preserve line numbers (perhaps by discarding comments or blank lines). -- John Kasunich [email protected] ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
