-listdisk { return LISTDISK; }
-sethost { return SETHOST; }
-setdisk { return SETDISK; }
-setdate { return SETDATE; }
-setmode { return SETMODE; }
-settape { return SETTAPE; }
-cd { return CD; }
-cdx { return CDX; }
-quit { return QUIT; }
-exit { return QUIT; }
-history { return DHIST; }
-ls { return LS; }
-add { return ADD; }
-addx { return ADDX; }
-list { return LIST; }
-delete { return DELETE; }
-deletex { return DELETEX; }
-pwd { return PWD; }
-clear { return CLEAR; }
-help { return HELP; }
-\? { return HELP; }
-lcd { return LCD; }
-lpwd { return LPWD; }
-extract { return EXTRACT; }
-smb { return SMB; }
-tar { return TAR; }
-mode { return MODE; }
+listhost { BEGIN(needstring); return LISTHOST; }
+listdisk { BEGIN(needstring); return LISTDISK; }
+listproperty { BEGIN(needstring); return LISTPROPERTY; }
+sethost { BEGIN(needstring); return SETHOST; }
+setdisk { BEGIN(needstring); return SETDISK; }
+setdate { BEGIN(needstring); return SETDATE; }
+setmode { BEGIN(needmode); return SETMODE; }
+settape { BEGIN(needstring); return SETTAPE; }
+setdevice { BEGIN(needdevice); return SETDEVICE; }
+setproperty { BEGIN(propertyappend); return SETPROPERTY; }
+settranslate { BEGIN(needstring); return SETTRANSLATE; }
+<needdevice>-h { BEGIN(needstring); return DASH_H; }
+cd { BEGIN(needstring); return CD; }
+cdx { BEGIN(needstring); return CDX; }
+quit { BEGIN(needstring); return QUIT; }
+exit { BEGIN(needstring); return QUIT; }
+history { BEGIN(needstring); return DHIST; }
+ls { BEGIN(needstring); return LS; }
+add { BEGIN(needstring); return ADD; }
+addx { BEGIN(needstring); return ADDX; }
+list { BEGIN(needstring); return LIST; }
+delete { BEGIN(needstring); return DELETE; }
+deletex { BEGIN(needstring); return DELETEX; }
+pwd { BEGIN(needstring); return PWD; }
+clear { BEGIN(needstring); return CLEAR; }
+<INITIAL>help { BEGIN(INITIAL); return HELP; }
+\? { BEGIN(needstring); return HELP; }
+lcd { BEGIN(needstring); return LCD; }
+lpwd { BEGIN(needstring); return LPWD; }
+extract { BEGIN(needstring); return EXTRACT; }
+mode { BEGIN(needstring); return MODE; }
+<needmode>tar { BEGIN(needstring); return TAR; }
+<needmode>smb { BEGIN(needstring); return SMB; }
+<INITIAL,needdevice,needmode,needstring,astring,propertyappend,propertypriority>{LINEFEED} { BEGIN(INITIAL); return NL; }