[Python-Dev] PEP 3103: A Switch/Case Statement
Eric Sumner
kd5bjo at gmail.com
Thu Jun 29 17:18:12 CEST 2006
> >> what's a "label" ?
> >
> > In your example, RED, GREEN, and BLUE. colours provides a mapping
> > from values to labels/cases, and the switch statement provides a
> > mapping from labels/cases to code. Sorry about introducing a new term
> > without saying anything about it.
>
> yeah, but what are they? integers? strings? names without an associated value?
Syntactically, they are bare words (names). They are constants, and
compare equal to other identical labels.
> how do you create new labels?
To the programmer, all valid labels exist; you just use them. They
are only used in very particular places in the grammar. Internally,
they are probably represented by strings.
> where are they stored?
They are stored by the internal representation of any construct that
uses them. That would be dispatch table objects and compiled switch
statements.
> who keeps track of them?
Each construct keeps track of its own copies, and destroys them when
they are no longer needed.
-- Eric Sumner
More information about the Python-Dev
mailing list