The use of Fanuc's G91 in a macro is an example of incremental macro programming.
<IF><IS-INC-MAC><THEN> [#]{N<SEQ>}{<MOTION>}{X<@X-COORD>}{Y<@Y-COORD>}<EOB> <ENDIF> <IFNOT><IS-INC-MAC><THEN> [#]{N<SEQ>}{<MOTION>}{X<X-COORD>}{Y<Y-COORD>}<EOB> <ENDIF>
{N<SEQ>}{<MOTION>}{<COMP-STAT>} <IF><COMP-START><THEN> [#]D<COMP-NUM> <ENDIF> <IF><IS-INC-MAC><THEN> [#]{X<@X-COORD>}{Y<@Y-COORD>}{Z<@Z-COORD>}{F<FEED>}<EOB> <ENDIF> <IFNOT><IS-INC-MAC><THEN> [#]{X<X-COORD>}{Y<Y-COORD>}{Z<Z-COORD>}{F<FEED>}<EOB> <ENDIF>
{N<SEQ>}{<PLANE>}{<MOTION> <IF><XY-PLANE><THEN> [#]<IF><IS-INC-MAC><THEN> [#]X<@X-COORD>Y<@Y-COORD>{Z<@Z-COORD>}I<ARC-X>J<ARC-Y> [#]<ENDIF> [#]<IFNOT><IS-INC-MAC><THEN> [#]X<X-COORD>Y<Y-COORD>{Z<Z-COORD>}I<ARC-X>J<ARC-Y> [#]<ENDIF> <ENDIF> <IF><ZX-PLANE><THEN> [#]<IF><IS-INC-MAC><THEN> [#]Z<@Z-COORD>X<@X-COORD>{Y<@Y-COORD>}K<ARC-Z>I<ARC-X> [#]<ENDIF> [#]<IFNOT><IS-INC-MAC><THEN> [#]Z<Z-COORD>X<X-COORD>{Y<Y-COORD>}K<ARC-Z>I<ARC-X> [#]<ENDIF> <ENDIF> <IF><YZ-PLANE><THEN> [#]<IF><IS-INC-MAC><THEN> [#]Y<@Y-COORD>Z<@Z-COORD>{X<@X-COORD>}J<ARC-Y>K<ARC-Z> [#]<ENDIF> [#]<IFNOT><IS-INC-MAC><THEN> [#]Y<Y-COORD>Z<Z-COORD>{X<X-COORD>}J<ARC-Y>K<ARC-Z> [#]<ENDIF> <ENDIF> {F<FEED>}<EOB>
:<PROG-NAME><MACRO#><EOB> <IF><IS-INC-MAC><THEN> [#]{N<SEQ>}G91<EOB> <ENDIF>
<IF><IS-INC-MAC><THEN> [#]{N<SEQ>}G90<EOB> <ENDIF> {N<SEQ>}M99<EOB>
<IF><IS-INC-MAC><THEN> [#]{N<SEQ>}{<MOTION>}{Z<@Z-COORD>}<EOB> <ENDIF> <IFNOT><IS-INC-MAC><THEN> [#]{N<SEQ>}{<MOTION>}{Z<Z-COORD>}<EOB> <ENDIF>