@@ -5,16 +5,30 @@ Documentation for the instruction definitions in `Python/bytecodes.c`
5
5
6
6
What's currently here:
7
7
8
+ - ` analyzer.py ` : code for converting ` AST ` generated by ` Parser `
9
+ to more high-level structure for easier interaction
8
10
- ` lexer.py ` : lexer for C, originally written by Mark Shannon
9
11
- ` plexer.py ` : OO interface on top of lexer.py; main class: ` PLexer `
10
- - ` parsing.py ` : Parser for instruction definition DSL; main class ` Parser `
11
- - ` generate_cases.py ` : driver script to read ` Python/bytecodes.c ` and
12
+ - ` parsing.py ` : Parser for instruction definition DSL; main class: ` Parser `
13
+ - ` parser.py ` helper for interactions with ` parsing.py `
14
+ - ` tierN_generator.py ` : a couple of driver scripts to read ` Python/bytecodes.c ` and
12
15
write ` Python/generated_cases.c.h ` (and several other files)
13
- - ` analysis.py ` : ` Analyzer ` class used to read the input files
14
- - ` flags.py ` : abstractions related to metadata flags for instructions
15
- - ` formatting.py ` : ` Formatter ` class used to write the output files
16
- - ` instructions.py ` : classes to analyze and write instructions
17
- - ` stacking.py ` : code to handle generalized stack effects
16
+ - ` stack.py ` : code to handle generalized stack effects
17
+ - ` cwriter.py ` : code which understands tokens and how to format C code;
18
+ main class: ` CWriter `
19
+ - ` generators_common.py ` : helpers for generators
20
+ - ` opcode_id_generator.py ` : generate a list of opcodes and write them to
21
+ ` Include/opcode_ids.h `
22
+ - ` opcode_metadata_generator.py ` : reads the instruction definitions and
23
+ write the metadata to ` Include/internal/pycore_opcode_metadata.h `
24
+ - ` py_metadata_generator.py ` : reads the instruction definitions and
25
+ write the metadata to ` Lib/_opcode_metadata.py `
26
+ - ` target_generator.py ` : generate targets for computed goto dispatch and
27
+ write them to ` Python/opcode_targets.h `
28
+ - ` uop_id_generator.py ` : generate a list of uop IDs and write them to
29
+ ` Include/internal/pycore_uop_ids.h `
30
+ - ` uop_metadata_generator.py ` : reads the instruction definitions and
31
+ write the metadata to ` Include/internal/pycore_uop_metadata.h `
18
32
19
33
Note that there is some dummy C code at the top and bottom of
20
34
` Python/bytecodes.c `
0 commit comments