separated generating and printing of gcode
gcode emulator sketch
emulator knowns the difference between G0 and G1
Parser for iso7 files
transforming trivial gmacro programs into iso7 programs
gcode->moves interpreter replaced with simplier iso7->moves interpreter
calculating time and tool path statistics for program run, at this time only linear interpolation is taken into account
numerous parser fixes
generating gcode as bytestring in addtion to mossibility to print it
RealT moved into separate module, all the mentions of Float replaced with Real
taking circle moves into account then translating iso7 to moves
Better evaluator code organization, fixed various bugs in calculating statistics. Fast moves have a dedicated constructor in trace. Test changed a bit
emulating M6, M30 and M0
calculating cost of ark moves and tool changes
Support for >= and <= in expressions
richer Label type consisting of UserLabel containing String and AutoLabel with Int, latter used for code generation
proper codegeneration for IF branches, it turned out, only GOTOs a supported there. So had to generate branch goto logic when compiling hcode into gcode
Merge branch 'if-branch-goto' into codegen
While reimplemented as on basis of If and Goto. We better stand away from builtin Fanuc macro While because of it's poor interation with inner gotos
Fixed label printing in gotos. Added a separate functions for labelling frames and printing label references. This way we can differentiate between user generated and auto generated labels which is helpful for debugging