Author: particle
Date: 2009-01-02 14:36:54 +0100 (Fri, 02 Jan 2009)
New Revision: 24732
Modified:
docs/Perl6/Spec/S06-routines.pod
docs/Perl6/Spec/S19-commandline.pod
Log:
[spec] get rid of ugly and confusing C<+option> syntax (bad unix memes)--
Modified: docs/Perl6/Spec/S06-routines.pod
===================================================================
--- docs/Perl6/Spec/S06-routines.pod 2009-01-01 22:27:50 UTC (rev 24731)
+++ docs/Perl6/Spec/S06-routines.pod 2009-01-02 13:36:54 UTC (rev 24732)
@@ -2735,15 +2735,17 @@
Common Unix command-line conventions are mapped onto the capture
as follows:
- Assuming C<-n> is the shortname for C<--name>,
+ Assuming C<-n> is the short name for C<--name>,
On command line... $*ARGS capture gets...
+ # Short names
-n :name
-n=value :name<value>
-n="spacy value" :name«'spacy value'»
-n='spacy value' :name«'spacy value'»
-n=val1,'val 2',etc :name«val1 'val 2' etc»
+ # Long names
--name :name # only if declared Bool
--name=value :name<value> # don't care
--name value :name<value> # only if not declared Bool
@@ -2756,15 +2758,16 @@
--name val1 'val 2' etc :name«val1 'val 2' etc» # only if declared @
-- # end named argument processing
- +name :!name
- +name=value :name<value> but False
- +name="spacy value" :name«'spacy value'» but False
- +name='spacy value' :name«'spacy value'» but False
- +name=val1,'val 2',etc :name«val1 'val 2' etc» but False
+ # Negation
+ --/name :!name
+ --/name=value :name<value> but False
+ --/name="spacy value" :name«'spacy value'» but False
+ --/name='spacy value' :name«'spacy value'» but False
+ --/name=val1,'val 2',etc :name«val1 'val 2' etc» but False
+ # Native
:name :name
- :!name :!name # potential conflict with ! histchar
- :/name :!name # potential workaround?
+ :/name :!name
:name=value :name<value>
:name="spacy value" :name«'spacy value'»
:name='spacy value' :name«'spacy value'»
Modified: docs/Perl6/Spec/S19-commandline.pod
===================================================================
--- docs/Perl6/Spec/S19-commandline.pod 2009-01-01 22:27:50 UTC (rev 24731)
+++ docs/Perl6/Spec/S19-commandline.pod 2009-01-02 13:36:54 UTC (rev 24732)
@@ -29,7 +29,7 @@
=item *
-A much smarter default command-line processor in the core
+A smart default command-line processor in the core
=item *
@@ -111,7 +111,7 @@
=item *
-Options must begin with one of the following symbols: C<< < -- - + : > >>.
+Options must begin with one of the following symbols: C<< < -- - : > >>.
=item *
@@ -120,7 +120,7 @@
=item *
All options have a multi-character, descriptive name for increased clarity.
-Multi-character option names always begin with C<-->, C<+>, or C<:>.
+Multi-character option names always begin with C<--> or C<:>.
=item *
@@ -138,16 +138,8 @@
=item *
-Options may be negated with C</> or C<!>, for example C<:/name>
+Options may be negated with C</>, for example C<--/name>, C<:/name>, C<-/n>.
-[:/name reminds me more of an end tag than a negated, but I see
-why you want it, given the history of history characters...interestingly,
-:0name has the same effect in current p6, since we generalized :3x
-and such.]
-
-{{ dunno how TIMTOWTDI i want to get here, so i haven't changed the text
-above, but have standardized on C</> below. }}
-
=item *
The special option C<--> signals the parser to stop option processing.
@@ -239,8 +231,8 @@
token option {
[
[
- $<sym>=[ '--' | '-' | '+' | ':' ]
- $<neg>=[ '!' | '/' ]?
+ $<sym>=[ '--' | '-' | ':' ]
+ $<neg>=[ '/' ]?
<name>
]
[ '=' <value> [ ',' <value> ]* ]?