; -------------------------------------------------------------------------------- ; @Title: This script registers the command PCMD ; @Description: ; The command PCMD executes one line of PRACTICE code with macro substitution ; PCMD ; Future version of TRACE32 might have this command build in. ; @Keywords: practice, macro, substitution, globalon, command ; @Author: HLG ; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: pcmd.cmm 7373 2014-07-08 10:44:24Z smeister $ LOCAL &cmd ENTRY %line &cmd IF "&cmd"=="" ( IF VERSION.BUILD()>=12560. // GLOBALON is available since 25.Mar.2008 ( LOCAL &ppf &ppf=OS.PPF() GLOBALON CMD pcmd DO "&ppf" ) ELSE ( PRINT %ERROR "TRACE32 too old. PCMD command won't be available" ) ) ELSE ( ; &&cmd="&cmd" // evaluate macros if not yet done by DO command ; WHILE (STRing.CHAR("&cmd",0)==0x20)||(STRing.CHAR("&cmd",0)==0x0b) // removes trailing whitespace if not yet done by DO command ; &cmd=STRing.CUT("&cmd",1) // Strip comments LOCAL &i &varcmd &instring &varcmd=(STRing.LWR(STRing.MID("&cmd",0,4))=="var.")||(STRing.LWR(STRing.MID("&cmd",0,2))=="v.") // Var-Command ? &i=0 &instring=(1==0) WHILE &i