Mercurial > cpython-lru_cache-weakref
annotate Python/frozen.c @ 16823:acbe74f3a786 legacy-trunk
Presumed correct compiler pass for future statements
XXX still need to integrate into symtable API
compile.h: Remove ff_n_simple_stmt; obsolete.
Add ff_found_docstring used internally to skip one and only
one string at the beginning of a module.
compile.c: Add check for from __future__ imports to far into the file.
In symtable_global() check for -1 returned from
symtable_lookup(), which signifies name not defined.
Add missing DECERF in symtable_add_def.
Free c->c_future.
future.c: Add special handling for multiple statements joined on a
single line using one or more semicolons; this form can
include an illegal future statement that would otherwise be
hard to detect.
Add support for detecting and skipping doc strings.
| author | Jeremy Hylton <jeremy@alum.mit.edu> |
|---|---|
| date | Wed, 28 Feb 2001 01:58:08 +0000 |
| parents | 6f6f965c5e2d |
| children | 1f3c1e831f21 |
| rev | line source |
|---|---|
|
3621
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
1 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
2 /* Dummy frozen modules initializer */ |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
3 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
4 #include "Python.h" |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
5 |
| 2896 | 6 /* In order to test the support for frozen modules, by default we |
| 7 define a single frozen module, __hello__. Loading it will print | |
| 8 some famous words... */ | |
| 9 | |
| 10 static unsigned char M___hello__[] = { | |
|
5885
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
11 99,0,0,0,0,1,0,0,0,115,15,0,0,0,127,0, |
|
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
12 0,127,1,0,100,0,0,71,72,100,1,0,83,40,2,0, |
|
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
13 0,0,115,14,0,0,0,72,101,108,108,111,32,119,111,114, |
|
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
14 108,100,46,46,46,78,40,0,0,0,0,40,0,0,0,0, |
|
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
15 115,8,0,0,0,104,101,108,108,111,46,112,121,115,1,0, |
|
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
16 0,0,63,1,0,115,0,0,0,0, |
| 2896 | 17 }; |
| 18 | |
|
3684
606c38535f30
New style interface via pointer variable.
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
19 static struct _frozen _PyImport_FrozenModules[] = { |
|
7845
949b59820185
Add primitive test for frozen package.
Guido van Rossum <guido@python.org>
parents:
5885
diff
changeset
|
20 /* Test module */ |
|
5885
76b1da21f3a8
Oops -- this contains frozen bytecode, but it was Python 1.4 bytecode!
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
21 {"__hello__", M___hello__, 90}, |
|
7845
949b59820185
Add primitive test for frozen package.
Guido van Rossum <guido@python.org>
parents:
5885
diff
changeset
|
22 /* Test package (negative size indicates package-ness) */ |
|
949b59820185
Add primitive test for frozen package.
Guido van Rossum <guido@python.org>
parents:
5885
diff
changeset
|
23 {"__phello__", M___hello__, -90}, |
|
949b59820185
Add primitive test for frozen package.
Guido van Rossum <guido@python.org>
parents:
5885
diff
changeset
|
24 {"__phello__.spam", M___hello__, 90}, |
| 2896 | 25 {0, 0, 0} /* sentinel */ |
| 26 }; | |
|
3684
606c38535f30
New style interface via pointer variable.
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
27 |
|
606c38535f30
New style interface via pointer variable.
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
28 /* Embedding apps may change this pointer to point to their favorite |
|
606c38535f30
New style interface via pointer variable.
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
29 collection of frozen modules: */ |
|
606c38535f30
New style interface via pointer variable.
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
30 |
|
606c38535f30
New style interface via pointer variable.
Guido van Rossum <guido@python.org>
parents:
3621
diff
changeset
|
31 struct _frozen *PyImport_FrozenModules = _PyImport_FrozenModules; |
