/* * $Id$ */ /* * Las siguientes partes son derechos adquiridos de sus autores individuales. * www - http://www.harbour-project.org * * Copyright 2001 * Documentación en Ingl‚s de: cmdline.txt * * Copyright 2002 Alejandro de G rate * Documentaci¢n en Espa¤ol de: cmdline.txt * * Vea doc/license.txt por los t‚rminos de la licencia. * */ /* $DOC$ * $FUNCNAME$ * Linea de Comandos * $CATEGORY$ * Documento * $ONELINER$ * Opciones del Compilador * $DESCRIPTION$ * Esta especificaci¢n sirve para CLIPPERCMD, HARBOURCMD, el compilador * Harbour y las directivas #pragma en el c¢digo fuente. * * La l¡nea de comando siempre predomina sobre las variables de entorno. * * Note que algunos switches no son aceptados en variables de entorno, * y algunos otros en #pragmas. * * Primero el analizador (parser) deber¡a comenzar saltando a trav‚s * de todos los tokens en la cadena separadas por espacios en blanco. * (¢ solo ir a trav‚s de todos los argv[]) * * 1.) Si el token comienza con "-", este debe ser tratado como un * un nuevo estilo de switch . * * Uno ¢ m s caracteres switch pueden seguir a ‚ste. El signo "-" * dentro del token apaga el switch. * * Si el switch tiene un argumento, todos los caracteres siguientes son * tratados como parte del argumento: * * El signo "/" n tiene significado especial aqui. * * * Switch Opci¢n resultante * * -wn ( W N ) * -w-n ( !W N ) * -wi/harbour/include/ ( W I=/harbour/include/ ) * -wi/harbour/include/n ( W I=/harbour/include/n ) * -wes0n ( W ES=0 N ) * -wen ( W [invalid switch: e] N ) * -wesn ( W ES=default(0) N ) * -wses ( W S ES=default(0) ) * -wess ( W ES=default(0) S ) * - ( [invalid switch] ) * -w-n-p ( !W !N P ) * -w-n-p- ( !W !N !P ) * -w- -w -w- ( finally: !W ) *
* * * 2.) Si el token comienza con "/", este debe ser tratado como un * switch de compatibilidad. * * El analizador revisa el token por el pr¢ximo signo "/", o EOS * (End Of String = fin de linea) y trata la cadena resultante * como un s¢lo switch. * * Esto significa que si un switch con un argumento conteniendo el * signo "/" tiene algunas limitaciones. * Esto puede ser resuelto permitiendo el uso de caracteres comillas. * Esto es mayormente un problema en sistemas que usan "/" como un * separador de path. * * * El signo "-" n tiene significado especial aqu¡, ‚ste no puede ser * usado para deshabilitar un switch. * * * Switch Opci¢n resultante * * /w/n ( W N ) * /wo/n ( [invalid switch: wo] N ) * /ihello/world/ ( I=hello [invalid switch: world] * [invalid switch: /] ) * /i"hello/world/"/w ( I=hello/world/ W ) * /ihello\world\ ( I=hello\world\ ) *
* * * 3.) Si el token comienza con otra cosa, ‚ste deber¡a ser saltado. * * Los switches de Harbour son siempre insensibles a las mayúsculas. * * En la l¡nea de comandos de Harbour los dos estilos pueden ser usados * conjuntamente: * * HARBOUR -wnes2 /gc0/q0 -ic:\hello * * Excepciones: * * - El manejo del switch indocumentado /CREDIT en la l¡nea de comandos * de Harbour es inusual, revise el c¢digo actual por esto. * * - El analisis de los par metros en la l¡nea de comandos de CLIPPER, * HARBOUR y aplicaciones de Harbour, son cosas distintas, vea * cmdarg.c por una nota. * * Notas: * * - En toda ocurrencia donde el path es aceptado, Harbour deber¡a * manejar el caracter doble comillas (") para especificar un path * conteniendo espacios, signo negativo, barras u otros caracteres * con un significado especial. * * /i"c:/hello/" * -i"c:/hello-n" * /i"c:/program files/" * -i"c:/program files/" * * * S¢lo algunos ejemplos para las varias formas aceptadas: * //F20 == /F20 == F20 == F:20 == F20X * //TMPPATH:C:\HELLO * F20//TMPPATH:/TEMP///F:30000000 NOIDLE * F0NOIDLEX10 * SQUAWKNOIDLE * * "//" siempre deber¡an ser usados en la l¡nea de comandos. * $SEEALSO$ * Opciones Compilador * $END$ */