Merge ast-branch to head
This change implements a new bytecode compiler, based on a
transformation of the parse tree to an abstract syntax defined in
Parser/Python.asdl.
The compiler implementation is not complete, but it is in stable
enough shape to run the entire test suite excepting two disabled
tests.
diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj
index 945fd5c..ff9e48b 100644
--- a/PCbuild/pythoncore.vcproj
+++ b/PCbuild/pythoncore.vcproj
@@ -3,6 +3,7 @@
ProjectType="Visual C++"
Version="7.10"
Name="pythoncore"
+ ProjectGUID="{7AFA1F0B-A8A1-455A-A832-BF263404BBEF}"
SccProjectName="pythoncore"
SccLocalPath="..">
<Platforms>
@@ -478,6 +479,12 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Python\asdl.c">
+ </File>
+ <File
+ RelativePath="..\Python\ast.c">
+ </File>
+ <File
RelativePath="..\Modules\audioop.c">
<FileConfiguration
Name="Release|Win32">
@@ -802,34 +809,10 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\Modules\collectionsmodule.c">
+ RelativePath="..\Objects\codeobject.c">
</File>
<File
- RelativePath="..\Python\compile.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="ReleaseItanium|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
- </FileConfiguration>
+ RelativePath="..\Modules\collectionsmodule.c">
</File>
<File
RelativePath="..\Objects\complexobject.c">
@@ -1186,6 +1169,9 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Parser\firstsets.c">
+ </File>
+ <File
RelativePath="..\Objects\floatobject.c">
<FileConfiguration
Name="Release|Win32">
@@ -1321,6 +1307,33 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Modules\functionalmodule.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseItanium|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
RelativePath="..\Python\future.c">
<FileConfiguration
Name="Release|Win32">
@@ -1648,6 +1661,9 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Parser\grammar.c">
+ </File>
+ <File
RelativePath="..\Parser\grammar1.c">
<FileConfiguration
Name="Release|Win32">
@@ -2302,6 +2318,9 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Python\compile.c">
+ </File>
+ <File
RelativePath="..\Parser\node.c">
<FileConfiguration
Name="Release|Win32">
@@ -2437,9 +2456,6 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\Modules\parsermodule.c">
- </File>
- <File
RelativePath="..\Parser\parsetok.c">
<FileConfiguration
Name="Release|Win32">
@@ -2467,6 +2483,9 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\Parser\pgen.c">
+ </File>
+ <File
RelativePath="..\Modules\posixmodule.c">
<FileConfiguration
Name="Release|Win32">
@@ -2551,6 +2570,9 @@
RelativePath="..\Python\pystrtod.c">
</File>
<File
+ RelativePath="..\Python\Python-ast.c">
+ </File>
+ <File
RelativePath="..\PC\python_nt.rc">
<FileConfiguration
Name="Release|Win32">
@@ -2764,6 +2786,7 @@
</FileConfiguration>
</File>
<File
+<<<<<<< pythoncore.vcproj
RelativePath="..\Modules\sha256module.c">
<FileConfiguration
Name="Release|Win32">
@@ -2819,6 +2842,63 @@
</File>
<File
RelativePath="..\Modules\signalmodule.c">
+=======
+ RelativePath="..\Modules\sha256module.c">
+>>>>>>> 1.26.2.3
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseItanium|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Modules\sha512module.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;$(NoInherit)"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="ReleaseItanium|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Modules\signalmodule.c">
<FileConfiguration
Name="Release|Win32">
<Tool
@@ -3145,31 +3225,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="..\Parser\tokenizer.c">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="_DEBUG;USE_DL_EXPORT;WIN32;_WINDOWS;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="ReleaseItanium|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;USE_DL_EXPORT;$(NoInherit)"/>
- </FileConfiguration>
+ RelativePath="..\Parser\tokenizer_pgen.c">
</File>
<File
RelativePath="..\Python\traceback.c">