Read G-Code and execute it on Arduino

Compiling that code produces many errors. Where did you get it from ?

Arduino: 1.8.5 (Windows 10), Board: "Arduino Nano, ATmega328P"

C:\Users\Bob\AppData\Local\Temp\arduino_modified_sketch_170471\sketch_may12a.ino: In function 'void setup()':

sketch_may12a:14: error: 'set_feedrate' was not declared in this scope

   set_feedrate(200); // set default speed

                   ^

C:\Users\Bob\AppData\Local\Temp\arduino_modified_sketch_170471\sketch_may12a.ino: In function 'void help()':

sketch_may12a:24: error: 'VERSION' was not declared in this scope

   Serial.println(VERSION);

                  ^

C:\Users\Bob\AppData\Local\Temp\arduino_modified_sketch_170471\sketch_may12a.ino: In function 'void processCommand()':

sketch_may12a:76: error: 'parsenumber' was not declared in this scope

   int cmd = parsenumber('G', -1);

                                ^

sketch_may12a:81: error: 'fr' was not declared in this scope

       set_feedrate(parsenumber('F', fr));

                                     ^

sketch_may12a:81: error: 'set_feedrate' was not declared in this scope

       set_feedrate(parsenumber('F', fr));

                                        ^

sketch_may12a:82: error: 'mode_abs' was not declared in this scope

       line( parsenumber('X', (mode_abs ? px : 0)) + (mode_abs ? 0 : px),

                               ^

sketch_may12a:82: error: 'px' was not declared in this scope

       line( parsenumber('X', (mode_abs ? px : 0)) + (mode_abs ? 0 : px),

                                          ^

sketch_may12a:83: error: 'py' was not declared in this scope

             parsenumber('Y', (mode_abs ? py : 0)) + (mode_abs ? 0 : py) );

                                          ^

sketch_may12a:88: error: 'pause' was not declared in this scope

       pause(parsenumber('P', 0) * 1000);

                                       ^

sketch_may12a:98: error: 'position' was not declared in this scope

                 parsenumber('Y', 0) );

                                     ^

sketch_may12a:108: error: 'm1' was not declared in this scope

       m1.release();

       ^

sketch_may12a:109: error: 'm2' was not declared in this scope

       m2.release();

       ^

sketch_may12a:115: error: 'where' was not declared in this scope

       where();

             ^

C:\Users\Bob\AppData\Local\Temp\arduino_modified_sketch_170471\sketch_may12a.ino: At global scope:

sketch_may12a:122: error: expected constructor, destructor, or type conversion before '(' token

 parsenumber(key, default)

            ^

exit status 1
'set_feedrate' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.