public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] BaseTools: Various typo
@ 2019-02-06  7:44 Antoine Coeur
  2019-02-12 13:57 ` Gao, Liming
  0 siblings, 1 reply; 2+ messages in thread
From: Antoine Coeur @ 2019-02-06  7:44 UTC (permalink / raw)
  To: edk2-devel

Various typo in BaseTools.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Coeur <coeur@gmx.fr>
---
 .../Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py   |  2 +-
 .../Conf/XMLSchema/DistributionPackage.xsd    | 16 +++---
 BaseTools/Conf/build_rule.template            |  4 +-
 BaseTools/Conf/target.template                |  2 +-
 BaseTools/Conf/tools_def.template             |  8 +--
 BaseTools/ReadMe.txt                          |  2 +-
 BaseTools/Scripts/UpdateBuildVersions.py      |  4 +-
 BaseTools/Source/C/Common/BasePeCoff.c        |  6 +--
 BaseTools/Source/C/Common/CommonLib.c         |  4 +-
 BaseTools/Source/C/Common/Crc32.c             |  4 +-
 BaseTools/Source/C/Common/Crc32.h             |  4 +-
 BaseTools/Source/C/Common/Decompress.c        |  6 +--
 BaseTools/Source/C/Common/Decompress.h        |  4 +-
 BaseTools/Source/C/Common/EfiCompress.c       |  6 +--
 BaseTools/Source/C/Common/EfiUtilityMsgs.c    |  8 +--
 BaseTools/Source/C/Common/FvLib.c             |  4 +-
 BaseTools/Source/C/Common/OsPath.c            |  2 +-
 BaseTools/Source/C/Common/OsPath.h            |  2 +-
 .../Source/C/Common/ParseGuidedSectionTools.c |  2 +-
 BaseTools/Source/C/Common/ParseInf.c          | 14 ++---
 BaseTools/Source/C/Common/ParseInf.h          |  2 +-
 BaseTools/Source/C/Common/PcdValueCommon.c    |  2 +-
 BaseTools/Source/C/Common/PeCoffLib.h         | 10 ++--
 BaseTools/Source/C/Common/PeCoffLoaderEx.c    | 12 ++---
 BaseTools/Source/C/Common/SimpleFileParsing.c |  4 +-
 BaseTools/Source/C/Common/StringFuncs.h       |  2 +-
 BaseTools/Source/C/Common/TianoCompress.c     |  4 +-
 BaseTools/Source/C/Common/WinNtInclude.h      |  2 +-
 BaseTools/Source/C/DevicePath/DevicePath.c    |  2 +-
 .../Source/C/DevicePath/DevicePathUtilities.c |  2 +-
 .../Source/C/DevicePath/UefiDevicePathLib.c   |  2 +-
 BaseTools/Source/C/EfiRom/EfiRom.c            |  2 +-
 BaseTools/Source/C/GenCrc32/GenCrc32.c        |  2 +-
 BaseTools/Source/C/GenFv/GenFvInternalLib.c   | 28 +++++-----
 BaseTools/Source/C/GenFv/GenFvInternalLib.h   |  2 +-
 BaseTools/Source/C/GenFw/Elf32Convert.c       | 10 ++--
 BaseTools/Source/C/GenFw/Elf64Convert.c       |  8 +--
 BaseTools/Source/C/GenFw/ElfConvert.h         |  2 +-
 BaseTools/Source/C/GenFw/GenFw.c              | 26 +++++-----
 BaseTools/Source/C/GenSec/GenSec.c            | 26 +++++-----
 .../Source/C/Include/AArch64/ProcessorBind.h  |  2 +-
 .../Source/C/Include/Arm/ProcessorBind.h      |  2 +-
 BaseTools/Source/C/Include/Common/BaseTypes.h |  2 +-
 .../Source/C/Include/Common/MdeModuleHii.h    |  6 +--
 .../C/Include/Common/PiFirmwareVolume.h       |  2 +-
 .../Source/C/Include/Common/UefiMultiPhase.h  |  2 +-
 .../Source/C/Include/Ia32/ProcessorBind.h     |  4 +-
 .../C/Include/IndustryStandard/Acpi2_0.h      |  2 +-
 .../C/Include/IndustryStandard/Acpi3_0.h      |  2 +-
 .../Source/C/Include/IndustryStandard/pci22.h |  4 +-
 .../C/Include/Protocol/DevicePathUtilities.h  |  2 +-
 .../C/Include/Protocol/GraphicsOutput.h       |  4 +-
 .../Protocol/GuidedSectionExtraction.h        |  2 +-
 BaseTools/Source/C/Include/Protocol/UgaDraw.h |  4 +-
 .../Source/C/Include/X64/ProcessorBind.h      |  8 +--
 .../Source/C/LzmaCompress/Sdk/C/LzmaEnc.h     |  2 +-
 .../C/LzmaCompress/Sdk/DOC/lzma-history.txt   |  2 +-
 .../C/LzmaCompress/Sdk/DOC/lzma-sdk.txt       |  2 +-
 BaseTools/Source/C/Split/Split.c              |  4 +-
 .../Source/C/TianoCompress/TianoCompress.c    | 10 ++--
 .../C/VfrCompile/Pccts/CHANGES_FROM_133.txt   | 24 ++++-----
 .../Pccts/CHANGES_FROM_133_BEFORE_MR13.txt    | 30 +++++------
 .../C/VfrCompile/Pccts/CHANGES_SUMMARY.txt    |  8 +--
 .../C/VfrCompile/Pccts/KNOWN_PROBLEMS.txt     |  4 +-
 .../Source/C/VfrCompile/Pccts/antlr/antlr.c   |  4 +-
 .../Source/C/VfrCompile/Pccts/antlr/antlr.g   |  4 +-
 .../Source/C/VfrCompile/Pccts/antlr/antlr.r   |  2 +-
 .../Source/C/VfrCompile/Pccts/antlr/egman.c   |  2 +-
 .../Source/C/VfrCompile/Pccts/antlr/fset.c    |  8 +--
 .../Source/C/VfrCompile/Pccts/antlr/fset2.c   |  2 +-
 .../Source/C/VfrCompile/Pccts/antlr/gen.c     | 10 ++--
 .../Source/C/VfrCompile/Pccts/antlr/generic.h |  2 +-
 .../Source/C/VfrCompile/Pccts/antlr/lex.c     |  4 +-
 .../Source/C/VfrCompile/Pccts/antlr/mrhoist.c |  2 +-
 .../Source/C/VfrCompile/Pccts/dlg/automata.c  |  6 +--
 BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.h |  4 +-
 BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.r | 51 +++++++++----------
 .../Source/C/VfrCompile/Pccts/dlg/dlg_p.c     |  2 +-
 .../Source/C/VfrCompile/Pccts/dlg/dlg_p.g     |  2 +-
 .../Source/C/VfrCompile/Pccts/dlg/relabel.c   |  2 +-
 .../Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h |  2 +-
 .../C/VfrCompile/Pccts/h/DLG_stream_input.h   |  6 +--
 BaseTools/Source/C/VfrCompile/Pccts/h/antlr.h |  2 +-
 BaseTools/Source/C/VfrCompile/VfrCompiler.h   |  2 +-
 BaseTools/Source/C/VfrCompile/VfrError.cpp    |  2 +-
 BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp  |  4 +-
 BaseTools/Source/C/VfrCompile/VfrSyntax.g     |  8 +--
 .../Source/C/VfrCompile/VfrUtilityLib.cpp     |  6 +--
 BaseTools/Source/Python/AutoGen/AutoGen.py    | 38 +++++++-------
 .../Source/Python/AutoGen/BuildEngine.py      | 12 ++---
 BaseTools/Source/Python/AutoGen/GenMake.py    |  4 +-
 BaseTools/Source/Python/AutoGen/GenPcdDb.py   |  6 +--
 .../Source/Python/AutoGen/InfSectionParser.py | 10 ++--
 .../Source/Python/AutoGen/UniClassObject.py   |  4 +-
 .../Source/Python/Common/BuildToolError.py    |  2 +-
 BaseTools/Source/Python/Common/EdkLogger.py   |  6 +--
 BaseTools/Source/Python/Common/Misc.py        | 20 ++++----
 .../Source/Python/Common/MultipleWorkspace.py |  4 +-
 BaseTools/Source/Python/Common/Parsing.py     |  6 +--
 .../Source/Python/Common/RangeExpression.py   |  4 +-
 BaseTools/Source/Python/Common/StringUtils.py | 14 ++---
 .../Python/CommonDataClass/CommonClass.py     |  2 +-
 .../Python/CommonDataClass/DataClass.py       |  4 +-
 BaseTools/Source/Python/Ecc/C.g               |  8 +--
 .../Source/Python/Ecc/CParser3/CLexer.py      |  2 +-
 .../Source/Python/Ecc/CParser3/CParser.py     |  2 +-
 BaseTools/Source/Python/Ecc/Check.py          | 14 ++---
 BaseTools/Source/Python/Ecc/Database.py       |  8 +--
 BaseTools/Source/Python/Ecc/EccMain.py        |  4 +-
 BaseTools/Source/Python/Ecc/EccToolError.py   |  4 +-
 BaseTools/Source/Python/Ecc/MetaDataParser.py |  2 +-
 BaseTools/Source/Python/Ecc/c.py              |  8 +--
 .../Source/Python/Eot/CParser3/CLexer.py      |  2 +-
 .../Source/Python/Eot/CParser3/CParser.py     |  2 +-
 .../Python/Eot/CodeFragmentCollector.py       |  6 +--
 BaseTools/Source/Python/Eot/Database.py       |  6 +--
 BaseTools/Source/Python/Eot/EotGlobalData.py  |  2 +-
 BaseTools/Source/Python/Eot/EotMain.py        |  2 +-
 BaseTools/Source/Python/Eot/InfParserLite.py  |  4 +-
 BaseTools/Source/Python/Eot/Parser.py         |  4 +-
 BaseTools/Source/Python/Eot/Report.py         |  2 +-
 BaseTools/Source/Python/GenFds/FdfParser.py   | 30 +++++------
 .../Source/Python/GenFds/FfsInfStatement.py   |  4 +-
 BaseTools/Source/Python/GenFds/Fv.py          |  2 +-
 .../Rsa2048Sha256Sign/Rsa2048Sha256Sign.py    |  2 +-
 BaseTools/Source/Python/Table/Table.py        |  2 +-
 .../Source/Python/Table/TableFunction.py      |  4 +-
 BaseTools/Source/Python/Table/TableQuery.py   |  2 +-
 .../Source/Python/TargetTool/TargetTool.py    |  4 +-
 BaseTools/Source/Python/Trim/Trim.py          |  2 +-
 .../Source/Python/UPT/Core/DependencyRules.py |  2 +-
 BaseTools/Source/Python/UPT/Core/IpiDb.py     | 16 +++---
 .../Python/UPT/GenMetaFile/GenDecFile.py      |  4 +-
 .../Python/UPT/GenMetaFile/GenInfFile.py      |  4 +-
 BaseTools/Source/Python/UPT/InstallPkg.py     | 20 ++++----
 .../Python/UPT/Library/CommentParsing.py      | 14 ++---
 .../Source/Python/UPT/Library/DataType.py     |  2 +-
 .../Source/Python/UPT/Library/GlobalData.py   |  2 +-
 BaseTools/Source/Python/UPT/Library/Misc.py   |  8 +--
 .../Python/UPT/Library/ParserValidate.py      | 14 ++---
 .../Source/Python/UPT/Library/Parsing.py      |  2 +-
 .../Source/Python/UPT/Library/StringUtils.py  | 12 ++---
 .../Python/UPT/Library/UniClassObject.py      | 20 ++++----
 BaseTools/Source/Python/UPT/Logger/Log.py     |  6 +--
 .../Source/Python/UPT/Logger/StringTable.py   | 12 ++---
 .../Source/Python/UPT/Logger/ToolError.py     |  2 +-
 BaseTools/Source/Python/UPT/MkPkg.py          |  2 +-
 .../Python/UPT/Object/Parser/DecObject.py     |  4 +-
 .../Source/Python/UPT/Parser/DecParser.py     |  4 +-
 .../Python/UPT/Parser/InfAsBuiltProcess.py    |  4 +-
 .../Python/UPT/PomAdapter/DecPomAlignment.py  |  4 +-
 .../Python/UPT/PomAdapter/InfPomAlignment.py  |  2 +-
 .../UPT/PomAdapter/InfPomAlignmentMisc.py     |  4 +-
 BaseTools/Source/Python/UPT/RmPkg.py          |  4 +-
 .../Python/UPT/UnitTest/DecParserUnitTest.py  |  6 +--
 .../Python/Workspace/BuildClassObject.py      |  2 +-
 .../Source/Python/Workspace/DecBuildData.py   |  8 +--
 .../Source/Python/Workspace/DscBuildData.py   |  2 +-
 .../Source/Python/Workspace/InfBuildData.py   |  4 +-
 .../Source/Python/Workspace/MetaFileParser.py |  2 +-
 .../Python/Workspace/WorkspaceCommon.py       |  2 +-
 .../Python/Workspace/WorkspaceDatabase.py     |  8 +--
 BaseTools/Source/Python/build/build.py        |  8 +--
 BaseTools/Tests/TianoCompress.py              |  2 +-
 .../UserManuals/GenFds_Utility_Man_Page.rtf   |  6 +--
 .../UserManuals/GenFw_Utility_Man_Page.rtf    |  2 +-
 BaseTools/building-gcc.txt                    |  4 +-
 BaseTools/gcc/mingw-gcc-build.py              |  2 +-
 BaseTools/toolsetup.bat                       |  2 +-
 BuildNotes2.txt                               |  2 +-
 Contributions.txt                             |  2 +-
 edksetup.bat                                  |  2 +-
 172 files changed, 513 insertions(+), 518 deletions(-)

diff --git a/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py b/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
index 66b9e9dc8c..ca373d40ab 100755
--- a/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
+++ b/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
@@ -18,7 +18,7 @@
 #
 # armcc_wrapper.py ToolToExec [command line to convert]
 #
-# anthing with the / will be converted via cygpath cygwin call or manually.
+# anything with the / will be converted via cygpath cygwin call or manually.
 # -I/cygpath/c/example is a special case as you can not pass -I to cygpath
 #
 # ExceptionList if a tool takes an argument with a / add it to the exception list
diff --git a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
index 6e31d2def1..72e3936e31 100644
--- a/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
+++ b/BaseTools/Conf/XMLSchema/DistributionPackage.xsd
@@ -145,7 +145,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             <xs:documentation xml:lang="en-us">
               The UserExtensions section is used to disseminate processing
               instructions that may be custom to the content provided by the distribution. This section
-              contains information that is common to all aspects of this disribution.
+              contains information that is common to all aspects of this distribution.
             </xs:documentation>
           </xs:annotation>
         </xs:element>
@@ -328,7 +328,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
               important to reflect the present state of the matter
             </xs:documentation>
             <xs:documentation xml:lang="en-us">
-              #2 Added definition/enumeration of UNDEFIND type 2 is
+              #2 Added definition/enumeration of UNDEFINED type 2 is
               important since there is a large body of legacy code for which the GUID’s and other
               code/data objects were not decorated with their usage. This document will allow for
               importing today’s source artifacts and producing decorations using the ‘Undefined’ versus
@@ -696,7 +696,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
             </xs:sequence>
           </xs:complexType>
         </xs:element>
-        <!-- End of PackageSurfaceArea PackageIncluces element.  -->
+        <!-- End of PackageSurfaceArea PackageIncludes element.  -->
 
         <xs:element minOccurs="0" maxOccurs="1" name="Modules">
           <xs:complexType>
@@ -962,8 +962,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                               <xs:annotation>
                                 <xs:documentation xml:lang="en-us">
                                   The PCD must be within a
-                                  specifed range of numeric values. Restricted to C style
-                                  Relational, Equality and Logicial Operators and parenthesis
+                                  specified range of numeric values. Restricted to C style
+                                  Relational, Equality and Logical Operators and parenthesis
                                   are valid. Only the CName for this PCD is permitted in the
                                   ValidValueRange expression. All other values must be
                                   numeric.
@@ -1006,7 +1006,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                               <xs:documentation xml:lang="en-us">
                                 This string should be
                                 defined by specifications. There are pre-defined error
-                                number ranges in the UEFI/PI specificaiton.
+                                number ranges in the UEFI/PI specification.
                               </xs:documentation>
                             </xs:annotation>
                             <xs:complexType>
@@ -1452,7 +1452,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
                           <xs:annotation>
                             <xs:documentation xml:lang="en-us">
                               The module will change the
-                              boot mode on some exection paths.
+                              boot mode on some execution paths.
                             </xs:documentation>
                           </xs:annotation>
                         </xs:enumeration>
@@ -2835,7 +2835,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <xs:anyAttribute processContents="lax"/>
     </xs:complexType>
   </xs:element>
-  <!-- The following elsements are common definitions used with the ref attribute for elements. -->
+  <!-- The following elements are common definitions used with the ref attribute for elements. -->
 
   <xs:element name="HelpText">
     <xs:complexType>
diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index 2a53d7ed63..760bfae812 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -63,7 +63,7 @@
 #   $(FV_DIR)           Directory to store flash image files
 #   $(INC)              Search path of current module
 #   $(NASM_INC)         Search nasm file path of current module
-#   $(INC_LIST)         A file containing search pathes of current module
+#   $(INC_LIST)         A file containing search paths of current module
 #   $(LIBS)             Static library files of current module
 #   $(<tool>_FLAGS)     Tools flags of current module
 #   $(MODULE_NAME)      Current module name
@@ -379,7 +379,7 @@
         $(OBJCOPY) --strip-unneeded -R .eh_frame ${src}
 
         #
-        #The below 2 lines are only needed for UNIXGCC tool chain, which genereates PE image directly
+        #The below 2 lines are only needed for UNIXGCC tool chain, which generates PE image directly
         #
         -$(OBJCOPY) $(OBJCOPY_ADDDEBUGFLAG) ${src}
         -$(CP) $(DEBUG_DIR)(+)$(MODULE_NAME).debug $(BIN_DIR)(+)$(MODULE_NAME_GUID).debug
diff --git a/BaseTools/Conf/target.template b/BaseTools/Conf/target.template
index e5c31fe5a0..155e6c40d2 100644
--- a/BaseTools/Conf/target.template
+++ b/BaseTools/Conf/target.template
@@ -37,7 +37,7 @@ TARGET                = DEBUG
 #                                               One, or more, of the following, IA32, IPF, X64, EBC, ARM
 #                                               or AArch64.
 #                                               Multiple values can be specified on a single line, using
-#                                               space charaters to separate the values.  These are used
+#                                               space characters to separate the values.  These are used
 #                                               during the parsing of a platform description file, 
 #                                               restricting the build output target(s.)
 #                                               The Build Target ARCH is determined by (precedence high to low):
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 2bd0982872..1cec8deca2 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -138,7 +138,7 @@ DEFINE ICC_BIN64x86     = C:\Program Files (x86)\Intel\Compiler\C++\DEF(ICC_VERS
 
 
 # Note: The Intel C++ Compiler 11.1 uses different installation path from previous versions
-#       We use "ICC11" tag for ICC 11.1 while "ICC" tag is dedicated for eariler versions
+#       We use "ICC11" tag for ICC 11.1 while "ICC" tag is dedicated for earlier versions
 #
 DEFINE ICC11_VERSION      = 11.1
 DEFINE ICC11_BUILD        = 072
@@ -6507,7 +6507,7 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 *_RVCTCYGWIN_ARM_FROMELF_PATH    = ENV(WORKSPACE)/BaseTools/Bin/CYGWIN_NT-5.1-i686/armcc_wrapper.py
 
 #################
-# ASM 16 linker defintions
+# ASM 16 linker definitions
 #################
 *_*_*_ASMLINK_PATH                 = DEF(WINDDK_BIN16)\link16.exe
 *_*_*_ASMLINK_FLAGS                = /nologo /tiny
@@ -6547,11 +6547,11 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 ##################
 # Rsa2048Sha256Sign tool definitions
 #
-# Notes: This tool defintion uses a test signing key for development purposes only.
+# Notes: This tool definition uses a test signing key for development purposes only.
 #        The tool Rsa2048Sha256GenerateKeys can be used to generate a new private/public key
 #        and the gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value.
 #        A custom tool/script can be implemented using the new private/public key with
-#        the Rsa2048Sha256Sign tool and this tool defintiion can be updated to use a
+#        the Rsa2048Sha256Sign tool and this tool definition can be updated to use a
 #        custom tool/script.
 #
 #   Generate new private/public key and gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer PCD value
diff --git a/BaseTools/ReadMe.txt b/BaseTools/ReadMe.txt
index 7d0486b95a..b81bd905fa 100644
--- a/BaseTools/ReadMe.txt
+++ b/BaseTools/ReadMe.txt
@@ -1,7 +1,7 @@
 This directory contains the next generation of EDK II build tools and template files.
 Templates are located in the Conf directory, while the tools executables for
 Microsoft Windows 32-bit Operating Systems are located in the Bin\Win32 directory, other
-directory contatins tools source.
+directory contains tools source.
 
 1. Build step to generate the binary tools.
 
diff --git a/BaseTools/Scripts/UpdateBuildVersions.py b/BaseTools/Scripts/UpdateBuildVersions.py
index 269435bfa4..5a583db6c0 100755
--- a/BaseTools/Scripts/UpdateBuildVersions.py
+++ b/BaseTools/Scripts/UpdateBuildVersions.py
@@ -4,7 +4,7 @@
 # This script will modife the C/Include/Common/BuildVersion.h file and the two
 # Python scripts, Python/Common/BuildVersion.py and Python/UPT/BuildVersion.py.
 # If SVN is available, the tool will obtain the current checked out version of
-# the source tree for including the the --version commands.
+# the source tree for including the --version commands.
 
 #  Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
 #
@@ -73,7 +73,7 @@ def ParseOptions():
 
 
 def ShellCommandResults(CmdLine, Opt):
-    """ Execute the comand, returning the output content """
+    """ Execute the command, returning the output content """
     file_list = NamedTemporaryFile(delete=False)
     filename = file_list.name
     Results = []
diff --git a/BaseTools/Source/C/Common/BasePeCoff.c b/BaseTools/Source/C/Common/BasePeCoff.c
index d5cefbd0b0..9112d0131c 100644
--- a/BaseTools/Source/C/Common/BasePeCoff.c
+++ b/BaseTools/Source/C/Common/BasePeCoff.c
@@ -217,7 +217,7 @@ Returns:
       ImageContext->ImageType != EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER && \
       ImageContext->ImageType != EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER) {
     //
-    // upsupported PeImage subsystem type
+    // unsupported PeImage subsystem type
     //
     return RETURN_UNSUPPORTED;
   }
@@ -483,7 +483,7 @@ Returns:
       // In Te image header there is not a field to describe the ImageSize.
       // Actually, the ImageSize equals the RVA plus the VirtualSize of
       // the last section mapped into memory (Must be rounded up to
-      // a mulitple of Section Alignment). Per the PE/COFF specification, the
+      // a multiple of Section Alignment). Per the PE/COFF specification, the
       // section headers in the Section Table must appear in order of the RVA
       // values for the corresponding sections. So the ImageSize can be determined
       // by the RVA and the VirtualSize of the last section header in the
@@ -1315,7 +1315,7 @@ PeCoffLoaderGetPdbPointer (
       break;
     default:
       //
-      // For unknow Machine field, use Magic in optional Header
+      // For unknown Machine field, use Magic in optional Header
       //
       Magic = Hdr.Pe32->OptionalHeader.Magic;
     }
diff --git a/BaseTools/Source/C/Common/CommonLib.c b/BaseTools/Source/C/Common/CommonLib.c
index 5c40fdb5fd..5179c701cc 100644
--- a/BaseTools/Source/C/Common/CommonLib.c
+++ b/BaseTools/Source/C/Common/CommonLib.c
@@ -2057,13 +2057,13 @@ IsHexStr (
   )
 {
   //
-  // skip preceeding white space
+  // skip preceding white space
   //
   while ((*Str != 0) && *Str == L' ') {
     Str ++;
   }
   //
-  // skip preceeding zeros
+  // skip preceding zeros
   //
   while ((*Str != 0) && *Str == L'0') {
     Str ++;
diff --git a/BaseTools/Source/C/Common/Crc32.c b/BaseTools/Source/C/Common/Crc32.c
index dc15887124..cbd10e090c 100644
--- a/BaseTools/Source/C/Common/Crc32.c
+++ b/BaseTools/Source/C/Common/Crc32.c
@@ -1,5 +1,5 @@
 /** @file
-CalcuateCrc32 routine.
+CalculateCrc32 routine.
 
 Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
@@ -288,7 +288,7 @@ Routine Description:
 
 Arguments:
 
-  Data        - The buffer contaning the data to be processed
+  Data        - The buffer containing the data to be processed
   DataSize    - The size of data to be processed
   CrcOut      - A pointer to the caller allocated UINT32 that on
                 contains the CRC32 checksum of Data
diff --git a/BaseTools/Source/C/Common/Crc32.h b/BaseTools/Source/C/Common/Crc32.h
index 766f443908..52072ee324 100644
--- a/BaseTools/Source/C/Common/Crc32.h
+++ b/BaseTools/Source/C/Common/Crc32.h
@@ -1,5 +1,5 @@
 /** @file
-Header file for CalcuateCrc32 routine
+Header file for CalculateCrc32 routine
 
 Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
@@ -31,7 +31,7 @@ Routine Description:
 
 Arguments:
 
-  Data        - The buffer contaning the data to be processed
+  Data        - The buffer containing the data to be processed
   DataSize    - The size of data to be processed
   CrcOut      - A pointer to the caller allocated UINT32 that on
                 contains the CRC32 checksum of Data
diff --git a/BaseTools/Source/C/Common/Decompress.c b/BaseTools/Source/C/Common/Decompress.c
index 33e0f0d160..0e9ba0a982 100644
--- a/BaseTools/Source/C/Common/Decompress.c
+++ b/BaseTools/Source/C/Common/Decompress.c
@@ -747,7 +747,7 @@ Arguments:
 
 Returns:
 
-  EFI_SUCCESS           - Decompression is successfull
+  EFI_SUCCESS           - Decompression is successful
   EFI_INVALID_PARAMETER - The source data is corrupted
 
 --*/
@@ -902,7 +902,7 @@ Arguments:
 
 Returns:
 
-  EFI_SUCCESS           - Decompression is successfull
+  EFI_SUCCESS           - Decompression is successful
   EFI_INVALID_PARAMETER - The source data is corrupted
 
 --*/
@@ -937,7 +937,7 @@ Arguments:
 
 Returns:
 
-  EFI_SUCCESS           - Decompression is successfull
+  EFI_SUCCESS           - Decompression is successful
   EFI_INVALID_PARAMETER - The source data is corrupted
 
 --*/
diff --git a/BaseTools/Source/C/Common/Decompress.h b/BaseTools/Source/C/Common/Decompress.h
index 22ac1df1f9..a44e0ae76a 100644
--- a/BaseTools/Source/C/Common/Decompress.h
+++ b/BaseTools/Source/C/Common/Decompress.h
@@ -70,7 +70,7 @@ Arguments:
 
 Returns:
 
-  EFI_SUCCESS           - Decompression is successfull
+  EFI_SUCCESS           - Decompression is successful
   EFI_INVALID_PARAMETER - The source data is corrupted
 
 **/
@@ -128,7 +128,7 @@ Arguments:
 
 Returns:
 
-  EFI_SUCCESS           - Decompression is successfull
+  EFI_SUCCESS           - Decompression is successful
   EFI_INVALID_PARAMETER - The source data is corrupted
 
 **/
diff --git a/BaseTools/Source/C/Common/EfiCompress.c b/BaseTools/Source/C/Common/EfiCompress.c
index 33d4c5eec1..0f6b286c7e 100644
--- a/BaseTools/Source/C/Common/EfiCompress.c
+++ b/BaseTools/Source/C/Common/EfiCompress.c
@@ -396,7 +396,7 @@ Routine Description:
 
   Allocate memory spaces for data structures used in compression process
 
-Argements: (VOID)
+Arguments: (VOID)
 
 Returns:
 
@@ -652,7 +652,7 @@ Returns: (VOID)
 
     //
     // We have just got a long match, the target tree
-    // can be located by MatchPos + 1. Travese the tree
+    // can be located by MatchPos + 1. Traverse the tree
     // from bottom up to get to a proper starting point.
     // The usage of PERC_FLAG ensures proper node deletion
     // in DeleteNode() later.
@@ -1281,7 +1281,7 @@ Routine Description:
 
   Outputs rightmost n bits of x
 
-Argments:
+Arguments:
 
   n   - the rightmost n bits of the data is used
   x   - the data
diff --git a/BaseTools/Source/C/Common/EfiUtilityMsgs.c b/BaseTools/Source/C/Common/EfiUtilityMsgs.c
index 44925c642b..b32afd38a6 100644
--- a/BaseTools/Source/C/Common/EfiUtilityMsgs.c
+++ b/BaseTools/Source/C/Common/EfiUtilityMsgs.c
@@ -21,7 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include "EfiUtilityMsgs.h"
 
 //
-// Declare module globals for keeping track of the the utility's
+// Declare module globals for keeping track of the utility's
 // name and other settings.
 //
 STATIC STATUS mStatus                 = STATUS_SUCCESS;
@@ -61,7 +61,7 @@ Arguments:
   at least something valid is not specified.
 
   FileName - name of the file or application. If not specified, then the
-             utilty name (as set by the utility calling SetUtilityName()
+             utility name (as set by the utility calling SetUtilityName()
              earlier) is used. Otherwise "Unknown utility" is used.
 
   LineNumber - the line number of error, typically used by parsers. If the
@@ -384,7 +384,7 @@ Routine Description:
 Arguments:
   Type        - "warning" or "error" string to insert into the message to be
                 printed. The first character of this string (converted to uppercase)
-                is used to preceed the MessageCode value in the output string.
+                is used to precede the MessageCode value in the output string.
 
   FileName    - name of the file where the warning was detected, or the name
                 of the application that detected the warning
@@ -597,7 +597,7 @@ Routine Description:
 
 Arguments:
   UtilityName  -  name of the utility, which will be printed with all
-                  error/warning/debug messags.
+                  error/warning/debug messages.
 
 Returns:
   NA
diff --git a/BaseTools/Source/C/Common/FvLib.c b/BaseTools/Source/C/Common/FvLib.c
index b5ae45de09..d53a743178 100644
--- a/BaseTools/Source/C/Common/FvLib.c
+++ b/BaseTools/Source/C/Common/FvLib.c
@@ -318,7 +318,7 @@ Routine Description:
 Arguments:
 
   FileType    Type of file to search for.
-  Instance    Instace of the file type to return.
+  Instance    Instance of the file type to return.
   File        Return pointer.  In the case of an error, contents are undefined.
 
 Returns:
@@ -505,7 +505,7 @@ Arguments:
 
   File        The file to search.
   SectionType Type of file to search for.
-  Instance    Instace of the section to return.
+  Instance    Instance of the section to return.
   Section     Return pointer.  In the case of an error, contents are undefined.
 
 Returns:
diff --git a/BaseTools/Source/C/Common/OsPath.c b/BaseTools/Source/C/Common/OsPath.c
index b46516d292..b4504a39ef 100644
--- a/BaseTools/Source/C/Common/OsPath.c
+++ b/BaseTools/Source/C/Common/OsPath.c
@@ -228,7 +228,7 @@ Routine Description:
 Arguments:
 
   OldPath     Path name of replace the final segment
-  Peer        The new path name to concatinate to become the peer path
+  Peer        The new path name to concatenate to become the peer path
 
 Returns:
 
diff --git a/BaseTools/Source/C/Common/OsPath.h b/BaseTools/Source/C/Common/OsPath.h
index d3d75ea5dc..3b04cfecbe 100644
--- a/BaseTools/Source/C/Common/OsPath.h
+++ b/BaseTools/Source/C/Common/OsPath.h
@@ -104,7 +104,7 @@ Routine Description:
 Arguments:
 
   OldPath     Path name of replace the final segment
-  Peer        The new path name to concatinate to become the peer path
+  Peer        The new path name to concatenate to become the peer path
 
 Returns:
 
diff --git a/BaseTools/Source/C/Common/ParseGuidedSectionTools.c b/BaseTools/Source/C/Common/ParseGuidedSectionTools.c
index 5afe963841..4cc3fcae96 100644
--- a/BaseTools/Source/C/Common/ParseGuidedSectionTools.c
+++ b/BaseTools/Source/C/Common/ParseGuidedSectionTools.c
@@ -36,7 +36,7 @@ typedef struct _GUID_SEC_TOOL_ENTRY {
 } GUID_SEC_TOOL_ENTRY;
 
 //
-// Functin Implementation
+// Function Implementation
 //
 
 EFI_HANDLE
diff --git a/BaseTools/Source/C/Common/ParseInf.c b/BaseTools/Source/C/Common/ParseInf.c
index 4d10ff8b0c..3907f44331 100644
--- a/BaseTools/Source/C/Common/ParseInf.c
+++ b/BaseTools/Source/C/Common/ParseInf.c
@@ -233,7 +233,7 @@ Returns:
   CHAR8   *Delimiter;
   BOOLEAN ParseError;
   BOOLEAN ReadError;
-  UINTN   Occurrance;
+  UINTN   Occurrence;
 
   //
   // Check input parameters
@@ -258,7 +258,7 @@ Returns:
   //
   // Initialize our instance counter for the search token
   //
-  Occurrance = 0;
+  Occurrence = 0;
 
   if (FindSection (InputFile, Section)) {
     //
@@ -307,7 +307,7 @@ Returns:
         //
         // Check if it is the correct instance
         //
-        if (Instance == Occurrance) {
+        if (Instance == Occurrence) {
           //
           // Copy the contents following the =
           //
@@ -338,9 +338,9 @@ Returns:
           }
         } else {
           //
-          // Increment the occurrance found
+          // Increment the occurrence found
           //
-          Occurrance++;
+          Occurrence++;
         }
       }
     } while (
@@ -348,7 +348,7 @@ Returns:
       !ReadError &&
       InputFile->CurrentFilePointer < InputFile->Eof &&
       CurrentToken[0] != '[' &&
-      Occurrance <= Instance
+      Occurrence <= Instance
     );
   }
   //
@@ -478,7 +478,7 @@ AsciiStringToUint64 (
 Routine Description:
 
   Converts a null terminated ascii string that represents a number into a
-  UINT64 value.  A hex number may be preceeded by a 0x, but may not be
+  UINT64 value.  A hex number may be preceded by a 0x, but may not be
   succeeded by an h.  A number without 0x or 0X is considered to be base 10
   unless the IsHex input is true.
 
diff --git a/BaseTools/Source/C/Common/ParseInf.h b/BaseTools/Source/C/Common/ParseInf.h
index 903ce71a04..a8fde749cd 100644
--- a/BaseTools/Source/C/Common/ParseInf.h
+++ b/BaseTools/Source/C/Common/ParseInf.h
@@ -153,7 +153,7 @@ AsciiStringToUint64 (
 Routine Description:
 
   Converts a null terminated ascii string that represents a number into a
-  UINT64 value.  A hex number may be preceeded by a 0x, but may not be
+  UINT64 value.  A hex number may be preceded by a 0x, but may not be
   succeeded by an h.  A number without 0x or 0X is considered to be base 10
   unless the IsHex input is true.
 
diff --git a/BaseTools/Source/C/Common/PcdValueCommon.c b/BaseTools/Source/C/Common/PcdValueCommon.c
index fa12869eda..b95a7a859f 100644
--- a/BaseTools/Source/C/Common/PcdValueCommon.c
+++ b/BaseTools/Source/C/Common/PcdValueCommon.c
@@ -715,7 +715,7 @@ Returns:
   }
 
   //
-  // Check Input paramters
+  // Check Input parameters
   //
   if (*InputFileName == NULL) {
     fprintf (stderr, "Missing option.  Input files is not specified\n");
diff --git a/BaseTools/Source/C/Common/PeCoffLib.h b/BaseTools/Source/C/Common/PeCoffLib.h
index 80c8c33c76..c250471192 100644
--- a/BaseTools/Source/C/Common/PeCoffLib.h
+++ b/BaseTools/Source/C/Common/PeCoffLib.h
@@ -148,7 +148,7 @@ PeCoffLoaderGetEntryPoint (
 //
 
 /**
-  Pass in a pointer to an ARM MOVT or MOVW immediate instruciton and
+  Pass in a pointer to an ARM MOVT or MOVW immediate instruction and
   return the immediate data encoded in the instruction
 
   @param  Instruction   Pointer to ARM MOVT or MOVW immediate instruction
@@ -166,7 +166,7 @@ ThumbMovtImmediateAddress (
   Update an ARM MOVT or MOVW immediate instruction immediate data.
 
   @param  Instruction   Pointer to ARM MOVT or MOVW immediate instruction
-  @param  Address       New addres to patch into the instruction
+  @param  Address       New address to patch into the instruction
 
 **/
 VOID
@@ -178,10 +178,10 @@ ThumbMovtImmediatePatch (
 
 
 /**
-  Pass in a pointer to an ARM MOVW/MOVT instruciton pair and
+  Pass in a pointer to an ARM MOVW/MOVT instruction pair and
   return the immediate data encoded in the two` instruction
 
-  @param  Instructions  Pointer to ARM MOVW/MOVT insturction pair
+  @param  Instructions  Pointer to ARM MOVW/MOVT instruction pair
 
   @return Immediate address encoded in the instructions
 
@@ -196,7 +196,7 @@ ThumbMovwMovtImmediateAddress (
   Update an ARM MOVW/MOVT immediate instruction instruction pair.
 
   @param  Instructions  Pointer to ARM MOVW/MOVT instruction pair
-  @param  Address       New addres to patch into the instructions
+  @param  Address       New address to patch into the instructions
 **/
 VOID
 EFIAPI
diff --git a/BaseTools/Source/C/Common/PeCoffLoaderEx.c b/BaseTools/Source/C/Common/PeCoffLoaderEx.c
index fa8c7e3d17..43e66e7925 100644
--- a/BaseTools/Source/C/Common/PeCoffLoaderEx.c
+++ b/BaseTools/Source/C/Common/PeCoffLoaderEx.c
@@ -101,7 +101,7 @@ Returns:
 
 
 /**
-  Pass in a pointer to an ARM MOVT or MOVW immediate instruciton and
+  Pass in a pointer to an ARM MOVT or MOVW immediate instruction and
   return the immediate data encoded in the instruction
 
   @param  Instruction   Pointer to ARM MOVT or MOVW immediate instruction
@@ -137,7 +137,7 @@ ThumbMovtImmediateAddress (
   Update an ARM MOVT or MOVW immediate instruction immediate data.
 
   @param  Instruction   Pointer to ARM MOVT or MOVW immediate instruction
-  @param  Address       New addres to patch into the instruction
+  @param  Address       New address to patch into the instruction
 **/
 VOID
 ThumbMovtImmediatePatch (
@@ -147,7 +147,7 @@ ThumbMovtImmediatePatch (
 {
   UINT16  Patch;
 
-  // First 16-bit chunk of instruciton
+  // First 16-bit chunk of instruction
   Patch  = ((Address >> 12) & 0x000f);             // imm4
   Patch |= (((Address & BIT11) != 0) ? BIT10 : 0); // i
   *Instruction = (*Instruction & ~0x040f) | Patch;
@@ -160,10 +160,10 @@ ThumbMovtImmediatePatch (
 }
 
 /**
-  Pass in a pointer to an ARM MOVW/MOVT instruciton pair and
+  Pass in a pointer to an ARM MOVW/MOVT instruction pair and
   return the immediate data encoded in the two` instruction
 
-  @param  Instructions  Pointer to ARM MOVW/MOVT insturction pair
+  @param  Instructions  Pointer to ARM MOVW/MOVT instruction pair
 
   @return Immediate address encoded in the instructions
 
@@ -188,7 +188,7 @@ ThumbMovwMovtImmediateAddress (
   Update an ARM MOVW/MOVT immediate instruction instruction pair.
 
   @param  Instructions  Pointer to ARM MOVW/MOVT instruction pair
-  @param  Address       New addres to patch into the instructions
+  @param  Address       New address to patch into the instructions
 **/
 VOID
 EFIAPI
diff --git a/BaseTools/Source/C/Common/SimpleFileParsing.c b/BaseTools/Source/C/Common/SimpleFileParsing.c
index e7da044244..23ef9c8ceb 100644
--- a/BaseTools/Source/C/Common/SimpleFileParsing.c
+++ b/BaseTools/Source/C/Common/SimpleFileParsing.c
@@ -356,7 +356,7 @@ Returns:
   FALSE - otherwise
 
 Notes:
-  Preceeding white space is ignored.
+  Preceding white space is ignored.
   The parser's buffer pointer is advanced past the end of the
   token.
 
@@ -636,7 +636,7 @@ Returns:
   // Make sure we didn't exceed our maximum nesting depth
   //
   if (NestDepth > MAX_NEST_DEPTH) {
-    Error (NULL, 0, 3001, "Not Supported", "%s exceeeds max nesting depth (%u)", SourceFile->FileName, (unsigned) NestDepth);
+    Error (NULL, 0, 3001, "Not Supported", "%s exceeds max nesting depth (%u)", SourceFile->FileName, (unsigned) NestDepth);
     Status = STATUS_ERROR;
     goto Finish;
   }
diff --git a/BaseTools/Source/C/Common/StringFuncs.h b/BaseTools/Source/C/Common/StringFuncs.h
index 0675cb9f1d..eca967085e 100644
--- a/BaseTools/Source/C/Common/StringFuncs.h
+++ b/BaseTools/Source/C/Common/StringFuncs.h
@@ -70,7 +70,7 @@ Routine Description:
 
 Arguments:
 
-  Strin          The string to 'strip'
+  String          The string to 'strip'
 
 Returns:
 
diff --git a/BaseTools/Source/C/Common/TianoCompress.c b/BaseTools/Source/C/Common/TianoCompress.c
index 8b1ea7f761..1f70b75174 100644
--- a/BaseTools/Source/C/Common/TianoCompress.c
+++ b/BaseTools/Source/C/Common/TianoCompress.c
@@ -404,7 +404,7 @@ Routine Description:
 
   Allocate memory spaces for data structures used in compression process
 
-Argements:
+Arguments:
   VOID
 
 Returns:
@@ -680,7 +680,7 @@ Returns: (VOID)
   if (mMatchLen >= 4) {
     //
     // We have just got a long match, the target tree
-    // can be located by MatchPos + 1. Travese the tree
+    // can be located by MatchPos + 1. Traverse the tree
     // from bottom up to get to a proper starting point.
     // The usage of PERC_FLAG ensures proper node deletion
     // in DeleteNode() later.
diff --git a/BaseTools/Source/C/Common/WinNtInclude.h b/BaseTools/Source/C/Common/WinNtInclude.h
index 6b6af2e727..f66e03851d 100644
--- a/BaseTools/Source/C/Common/WinNtInclude.h
+++ b/BaseTools/Source/C/Common/WinNtInclude.h
@@ -34,7 +34,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 
 //
 // Win32 include files do not compile clean with /W4, so we use the warning
-// pragma to suppress the warnings for Win32 only. This way our code can stil
+// pragma to suppress the warnings for Win32 only. This way our code can still
 // compile at /W4 (highest warning level) with /WX (warnings cause build
 // errors).
 //
diff --git a/BaseTools/Source/C/DevicePath/DevicePath.c b/BaseTools/Source/C/DevicePath/DevicePath.c
index 356f5f7e24..9583a3f3a4 100644
--- a/BaseTools/Source/C/DevicePath/DevicePath.c
+++ b/BaseTools/Source/C/DevicePath/DevicePath.c
@@ -178,7 +178,7 @@ int main(int argc, CHAR8 *argv[])
   }
   Str16 = (CHAR16 *)malloc(1024);
   if (Str16 == NULL) {
-    fprintf(stderr, "Resource, memory cannot be allcoated");
+    fprintf(stderr, "Resource, memory cannot be allocated");
     return STATUS_ERROR;
   }
   Ascii2UnicodeString(Str, Str16);
diff --git a/BaseTools/Source/C/DevicePath/DevicePathUtilities.c b/BaseTools/Source/C/DevicePath/DevicePathUtilities.c
index 3b3abc67ea..59e08e960e 100644
--- a/BaseTools/Source/C/DevicePath/DevicePathUtilities.c
+++ b/BaseTools/Source/C/DevicePath/DevicePathUtilities.c
@@ -5,7 +5,7 @@
   all over this file.
 
   The only place where multi-instance device paths are supported is in
-  environment varibles. Multi-instance device paths should never be placed
+  environment variables. Multi-instance device paths should never be placed
   on a Handle.
 
   Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
diff --git a/BaseTools/Source/C/DevicePath/UefiDevicePathLib.c b/BaseTools/Source/C/DevicePath/UefiDevicePathLib.c
index a2e0322e27..a500148a79 100644
--- a/BaseTools/Source/C/DevicePath/UefiDevicePathLib.c
+++ b/BaseTools/Source/C/DevicePath/UefiDevicePathLib.c
@@ -5,7 +5,7 @@
   all over this file.
 
   The only place where multi-instance device paths are supported is in
-  environment varibles. Multi-instance device paths should never be placed
+  environment variables. Multi-instance device paths should never be placed
   on a Handle.
 
   Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
diff --git a/BaseTools/Source/C/EfiRom/EfiRom.c b/BaseTools/Source/C/EfiRom/EfiRom.c
index cb4ecea2c4..0c52eb7484 100644
--- a/BaseTools/Source/C/EfiRom/EfiRom.c
+++ b/BaseTools/Source/C/EfiRom/EfiRom.c
@@ -1432,7 +1432,7 @@ Returns:
   ImageCount = 0;
   for (;;) {
     //
-    // Save our postition in the file, since offsets in the headers
+    // Save our position in the file, since offsets in the headers
     // are relative to the particular image.
     //
     ImageStart = ftell (InFptr);
diff --git a/BaseTools/Source/C/GenCrc32/GenCrc32.c b/BaseTools/Source/C/GenCrc32/GenCrc32.c
index 369f4affa9..d2e2cc1bf8 100644
--- a/BaseTools/Source/C/GenCrc32/GenCrc32.c
+++ b/BaseTools/Source/C/GenCrc32/GenCrc32.c
@@ -288,7 +288,7 @@ Returns:
 
   FileBuffer = (UINT8 *) malloc (FileSize);
   if (FileBuffer == NULL) {
-    Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated!");
+    Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");
     fclose (InFile);
     goto Finish;
   }
diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source/C/GenFv/GenFvInternalLib.c
index 4d0339e1f9..818c46407b 100644
--- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c
+++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c
@@ -110,7 +110,7 @@ CHAR8      *mFvbAlignmentName[] = {
 // This data array will be located at the base of the Firmware Volume Header (FVH)
 // in the boot block.  It must not exceed 14 bytes of code.  The last 2 bytes
 // will be used to keep the FVH checksum consistent.
-// This code will be run in response to a starutp IPI for HT-enabled systems.
+// This code will be run in response to a startup IPI for HT-enabled systems.
 //
 #define SIZEOF_STARTUP_DATA_ARRAY 0x10
 
@@ -465,7 +465,7 @@ Returns:
   case 0:
     //
     // 1 byte alignment
-    //if bit 1 have set, 128K byte alignmnet
+    //if bit 1 have set, 128K byte alignment
     //
     if (FfsFile->Attributes & FFS_ATTRIB_DATA_ALIGNMENT2) {
       *Alignment = 17;
@@ -724,7 +724,7 @@ Returns:
     memcpy ((UINT8 *)PadFile + CurFfsHeaderSize, ExtHeader, ExtHeader->ExtHeaderSize);
     ((EFI_FIRMWARE_VOLUME_HEADER *) FvImage->FileImage)->ExtHeaderOffset = (UINT16) ((UINTN) ((UINT8 *)PadFile + CurFfsHeaderSize) - (UINTN) FvImage->FileImage);
     //
-    // Make next file start at QWord Boundry
+    // Make next file start at QWord Boundary
     //
     while (((UINTN) FvImage->CurrentFilePointer & (EFI_FFS_FILE_HEADER_ALIGNMENT - 1)) != 0) {
       FvImage->CurrentFilePointer++;
@@ -1218,7 +1218,7 @@ Returns:
   FileBuffer = malloc (FileSize);
   if (FileBuffer == NULL) {
     fclose (NewFile);
-    Error (NULL, 0, 4001, "Resouce", "memory cannot be allocated!");
+    Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");
     return EFI_OUT_OF_RESOURCES;
   }
 
@@ -1387,7 +1387,7 @@ Returns:
     return EFI_ABORTED;
   }
   //
-  // Make next file start at QWord Boundry
+  // Make next file start at QWord Boundary
   //
   while (((UINTN) FvImage->CurrentFilePointer & (EFI_FFS_FILE_HEADER_ALIGNMENT - 1)) != 0) {
     FvImage->CurrentFilePointer++;
@@ -2196,14 +2196,14 @@ Returns:
         return EFI_ABORTED;
       }
 
-      // Add opcode for an uncondional branch with no link. i.e.: " B SecEntryPoint"
+      // Add opcode for an unconditional branch with no link. i.e.: " B SecEntryPoint"
       ResetVector[0] |= ARMT_UNCONDITIONAL_JUMP_INSTRUCTION;
 
       // SWI handler movs   pc,lr. Just in case a debugger uses SWI
       ResetVector[2] = 0xE1B0F07E;
 
       // Place holder to support a common interrupt handler from ROM.
-      // Currently not suppprted. For this to be used the reset vector would not be in this FV
+      // Currently not supported. For this to be used the reset vector would not be in this FV
       // and the exception vectors would be hard coded in the ROM and just through this address
       // to find a common handler in the a module in the FV.
       ResetVector[3] = 0;
@@ -2235,7 +2235,7 @@ Returns:
     ARMT above has an entry in ResetVector[2] for SWI. The way we are using the ResetVector
     array at the moment, for AArch64, does not allow us space for this as the header only
     allows for a fixed amount of bytes at the start. If we are sure that UEFI will live
-    within the first 4GB of addressable RAM we could potensioally adopt the same ResetVector
+    within the first 4GB of addressable RAM we could potentially adopt the same ResetVector
     layout as above. But for the moment we replace the four 32bit vectors with two 64bit
     vectors in the same area of the Image heasder. This allows UEFI to start from a 64bit
     base.
@@ -2253,7 +2253,7 @@ Returns:
         Error(NULL, 0, 3000, "Invalid", "SEC Entry point must be within 128MB of the start of the FV");
         return EFI_ABORTED;
       }
-      // Add opcode for an uncondional branch with no link. i.e.: " B SecEntryPoint"
+      // Add opcode for an unconditional branch with no link. i.e.: " B SecEntryPoint"
       ResetVector[0] |= ARM64_UNCONDITIONAL_JUMP_INSTRUCTION;
     }
 
@@ -3068,7 +3068,7 @@ Returns:
   }
 
   //
-  // Accumlate every FFS file size.
+  // Accumulate every FFS file size.
   //
   for (Index = 0; FvInfoPtr->FvFiles[Index][0] != 0; Index++) {
     //
@@ -3143,7 +3143,7 @@ Returns:
     }
 
     //
-    // Make next ffs file start at QWord Boundry
+    // Make next ffs file start at QWord Boundary
     //
     if (FvInfoPtr->IsPiFvImage) {
       CurrentOffset = (CurrentOffset + EFI_FFS_FILE_HEADER_ALIGNMENT - 1) & ~(EFI_FFS_FILE_HEADER_ALIGNMENT - 1);
@@ -3234,7 +3234,7 @@ Routine Description:
   their base address to the parent image.
 
 Arguments:
-  FvInfo            A pointer to FV_INFO struture.
+  FvInfo            A pointer to FV_INFO structure.
   FfsFile           A pointer to Ffs file image that may contain FvImage.
   XipOffset         The offset address to the parent FvImage base.
 
@@ -3277,7 +3277,7 @@ Returns:
         return EFI_ABORTED;
       }
 
-      // machine type is ARM, set a flag so ARM reset vector procesing occurs
+      // machine type is ARM, set a flag so ARM reset vector processing occurs
       if ((MachineType == EFI_IMAGE_MACHINE_ARMT) || (MachineType == EFI_IMAGE_MACHINE_AARCH64)) {
         VerboseMsg("Located ARM/AArch64 SEC/PEI core in child FV");
         mArm = TRUE;
@@ -3311,7 +3311,7 @@ Routine Description:
 
 Arguments:
 
-  FvInfo            A pointer to FV_INFO struture.
+  FvInfo            A pointer to FV_INFO structure.
   FileName          Ffs File PathName
   FfsFile           A pointer to Ffs file image.
   XipOffset         The offset address to use for rebasing the XIP file image.
diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.h b/BaseTools/Source/C/GenFv/GenFvInternalLib.h
index 4476b06a23..cc71840bac 100644
--- a/BaseTools/Source/C/GenFv/GenFvInternalLib.h
+++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.h
@@ -34,7 +34,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include "EfiUtilityMsgs.h"
 
 //
-// Different file separater for Linux and Windows
+// Different file separator for Linux and Windows
 //
 #define FILE_SEP_CHAR '/'
 
diff --git a/BaseTools/Source/C/GenFw/Elf32Convert.c b/BaseTools/Source/C/GenFw/Elf32Convert.c
index 23e8065756..62cdb30cf5 100644
--- a/BaseTools/Source/C/GenFw/Elf32Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf32Convert.c
@@ -74,7 +74,7 @@ CleanUp32 (
   );
 
 //
-// Rename ELF32 strucutres to common names to help when porting to ELF64.
+// Rename ELF32 structures to common names to help when porting to ELF64.
 //
 typedef Elf32_Shdr Elf_Shdr;
 typedef Elf32_Ehdr Elf_Ehdr;
@@ -450,7 +450,7 @@ ScanSections32 (
   mCoffOffset = CoffAlign(mCoffOffset);
 
   if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
-    Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 text section. Source level debug might not work correctly.", mInImageName);
+    Warning (NULL, 0, 0, NULL, "Multiple sections in %s are merged into 1 text section. Source level debug might not work correctly.", mInImageName);
   }
 
   //
@@ -487,7 +487,7 @@ ScanSections32 (
   }
 
   if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
-    Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 data section. Source level debug might not work correctly.", mInImageName);
+    Warning (NULL, 0, 0, NULL, "Multiple sections in %s are merged into 1 data section. Source level debug might not work correctly.", mInImageName);
   }
 
   //
@@ -688,7 +688,7 @@ WriteSections32 (
 
       default:
         //
-        //  Ignore for unkown section type.
+        //  Ignore for unknown section type.
         //
         VerboseMsg ("%s unknown section type %x. We ignore this unknown section type.", mInImageName, (unsigned)Shdr->sh_type);
         break;
@@ -1090,7 +1090,7 @@ WriteRelocations32 (
             break;
 
           default:
-            Error (NULL, 0, 3000, "Invalid", "%s bad ARM dynamic relocations, unkown type %d.", mInImageName, ELF32_R_TYPE (Rel->r_info));
+            Error (NULL, 0, 3000, "Invalid", "%s bad ARM dynamic relocations, unknown type %d.", mInImageName, ELF32_R_TYPE (Rel->r_info));
             break;
           }
         }
diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c
index 0a5237dd14..28f27ab97b 100644
--- a/BaseTools/Source/C/GenFw/Elf64Convert.c
+++ b/BaseTools/Source/C/GenFw/Elf64Convert.c
@@ -74,7 +74,7 @@ CleanUp64 (
   );
 
 //
-// Rename ELF32 strucutres to common names to help when porting to ELF64.
+// Rename ELF32 structures to common names to help when porting to ELF64.
 //
 typedef Elf64_Shdr Elf_Shdr;
 typedef Elf64_Ehdr Elf_Ehdr;
@@ -580,7 +580,7 @@ ScanSections64 (
   mCoffOffset = CoffAlign(mCoffOffset);
 
   if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
-    Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 text section. Source level debug might not work correctly.", mInImageName);
+    Warning (NULL, 0, 0, NULL, "Multiple sections in %s are merged into 1 text section. Source level debug might not work correctly.", mInImageName);
   }
 
   //
@@ -634,7 +634,7 @@ ScanSections64 (
   }
 
   if (SectionCount > 1 && mOutImageType == FW_EFI_IMAGE) {
-    Warning (NULL, 0, 0, NULL, "Mulitple sections in %s are merged into 1 data section. Source level debug might not work correctly.", mInImageName);
+    Warning (NULL, 0, 0, NULL, "Multiple sections in %s are merged into 1 data section. Source level debug might not work correctly.", mInImageName);
   }
 
   //
@@ -817,7 +817,7 @@ WriteSections64 (
 
       default:
         //
-        //  Ignore for unkown section type.
+        //  Ignore for unknown section type.
         //
         VerboseMsg ("%s unknown section type %x. We ignore this unknown section type.", mInImageName, (unsigned)Shdr->sh_type);
         break;
diff --git a/BaseTools/Source/C/GenFw/ElfConvert.h b/BaseTools/Source/C/GenFw/ElfConvert.h
index 1c0f24e6c2..e0f9e29333 100644
--- a/BaseTools/Source/C/GenFw/ElfConvert.h
+++ b/BaseTools/Source/C/GenFw/ElfConvert.h
@@ -49,7 +49,7 @@ typedef enum {
 } SECTION_FILTER_TYPES;
 
 //
-// FunctionTalbe
+// FunctionTable
 //
 typedef struct {
   VOID    (*ScanSections) ();
diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/GenFw.c
index af2c909866..fea7d5b4de 100644
--- a/BaseTools/Source/C/GenFw/GenFw.c
+++ b/BaseTools/Source/C/GenFw/GenFw.c
@@ -176,7 +176,7 @@ Returns:
   //
   fprintf (stdout, "Options:\n");
   fprintf (stdout, "  -o FileName, --outputfile FileName\n\
-                        File will be created to store the ouput content.\n");
+                        File will be created to store the output content.\n");
   fprintf (stdout, "  -e EFI_FILETYPE, --efiImage EFI_FILETYPE\n\
                         Create Efi Image. EFI_FILETYPE is one of BASE,SMM_CORE,\n\
                         PEI_CORE, PEIM, DXE_CORE, DXE_DRIVER, UEFI_APPLICATION,\n\
@@ -261,13 +261,13 @@ Returns:
                         Guid is used to specify hii package list guid.\n\
                         Its format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n\
                         If not specified, the first Form FormSet guid is used.\n");
-  fprintf (stdout, "  --hiipackage          Combine all input binary hii pacakges into \n\
+  fprintf (stdout, "  --hiipackage          Combine all input binary hii packages into \n\
                         a single package list as the text resource data(RC).\n\
                         It can't be combined with other action options\n\
                         except for -o option. It is a action option.\n\
                         If it is combined with other action options, the later\n\
                         input action option will override the previous one.\n");
-  fprintf (stdout, "  --hiibinpackage       Combine all input binary hii pacakges into \n\
+  fprintf (stdout, "  --hiibinpackage       Combine all input binary hii packages into \n\
                         a single package list as the binary resource section.\n\
                         It can't be combined with other action options\n\
                         except for -o option. It is a action option.\n\
@@ -559,7 +559,7 @@ PeCoffConvertImageToXip (
   if (PeHdr->Pe32.OptionalHeader.SectionAlignment != PeHdr->Pe32.OptionalHeader.FileAlignment) {
     //
     // The only reason to expand zero fill sections is to make them compatible with XIP images.
-    // If SectionAlignment is not equal to FileAlginment then it is not an XIP type image.
+    // If SectionAlignment is not equal to FileAlignment then it is not an XIP type image.
     //
     return;
   }
@@ -1390,7 +1390,7 @@ Returns:
         goto Finish;
       }
       if (LogLevel > 9) {
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0-9, currnt input level is %d", (int) LogLevel);
+        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0-9, current input level is %d", (int) LogLevel);
         goto Finish;
       }
       SetPrintLevel (LogLevel);
@@ -1536,16 +1536,16 @@ Returns:
     VerboseMsg ("Dump the TE header information of the input TE image.");
     break;
   case FW_MCI_IMAGE:
-    VerboseMsg ("Conver input MicroCode.txt file to MicroCode.bin file.");
+    VerboseMsg ("Convert input MicroCode.txt file to MicroCode.bin file.");
     break;
   case FW_MERGE_IMAGE:
     VerboseMsg ("Combine the input multi microcode bin files to one bin file.");
     break;
   case FW_HII_PACKAGE_LIST_RCIMAGE:
-    VerboseMsg ("Combine the input multi hii bin packages to one text pacakge list RC file.");
+    VerboseMsg ("Combine the input multi hii bin packages to one text package list RC file.");
     break;
   case FW_HII_PACKAGE_LIST_BINIMAGE:
-    VerboseMsg ("Combine the input multi hii bin packages to one binary pacakge list file.");
+    VerboseMsg ("Combine the input multi hii bin packages to one binary package list file.");
     break;
   case FW_REBASE_IMAGE:
     VerboseMsg ("Rebase the input image to new base address.");
@@ -1633,7 +1633,7 @@ Returns:
       goto Finish;
     }
     //
-    // Get hii package list lenght
+    // Get hii package list length
     //
     HiiPackageListHeader.PackageLength = sizeof (EFI_HII_PACKAGE_LIST_HEADER);
     for (Index = 0; Index < InputFileNum; Index ++) {
@@ -1668,7 +1668,7 @@ Returns:
       goto Finish;
     }
     if (memcmp (&HiiPackageListGuid, &mZeroGuid, sizeof (EFI_GUID)) == 0) {
-      Error (NULL, 0, 3000, "Invalid", "HII pacakge list guid is not specified!");
+      Error (NULL, 0, 3000, "Invalid", "HII package list guid is not specified!");
       goto Finish;
     }
     memcpy (&HiiPackageListHeader.PackageListGuid, &HiiPackageListGuid, sizeof (EFI_GUID));
@@ -2172,7 +2172,7 @@ Returns:
 
   if (PeHdr->Pe32.FileHeader.Machine == IMAGE_FILE_MACHINE_ARM) {
     // Some tools kick out IMAGE_FILE_MACHINE_ARM (0x1c0) vs IMAGE_FILE_MACHINE_ARMT (0x1c2)
-    // so patch back to the offical UEFI value.
+    // so patch back to the official UEFI value.
     PeHdr->Pe32.FileHeader.Machine = IMAGE_FILE_MACHINE_ARMT;
   }
 
@@ -2372,7 +2372,7 @@ Returns:
             //
             memset (SectionHeader->Name, 0, sizeof (SectionHeader->Name));
             //
-            // Zero Execption Table
+            // Zero Exception Table
             //
             Optional32->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION].VirtualAddress = 0;
             Optional32->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION].Size           = 0;
@@ -2479,7 +2479,7 @@ Returns:
                 memset (RuntimeFunction, 0, sizeof (RUNTIME_FUNCTION));
               }
               //
-              // Zero Execption Table
+              // Zero Exception Table
               //
               Optional64->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION].Size = 0;
               Optional64->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_EXCEPTION].VirtualAddress = 0;
diff --git a/BaseTools/Source/C/GenSec/GenSec.c b/BaseTools/Source/C/GenSec/GenSec.c
index f3dfaf63ba..e9064de439 100644
--- a/BaseTools/Source/C/GenSec/GenSec.c
+++ b/BaseTools/Source/C/GenSec/GenSec.c
@@ -323,7 +323,7 @@ Returns:
   //
   Buffer = (UINT8 *) malloc ((size_t) TotalLength);
   if (Buffer == NULL) {
-    Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+    Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
     goto Done;
   }
   CommonSect = (EFI_COMMON_SECTION_HEADER *) Buffer;
@@ -658,7 +658,7 @@ Returns:
   if (Status == EFI_BUFFER_TOO_SMALL) {
     FileBuffer = (UINT8 *) malloc (InputLength);
     if (FileBuffer == NULL) {
-      Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+      Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
       return EFI_OUT_OF_RESOURCES;
     }
     //
@@ -887,7 +887,7 @@ Returns:
 
     FileBuffer = (UINT8 *) malloc (InputLength + Offset);
     if (FileBuffer == NULL) {
-      Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+      Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
       return EFI_OUT_OF_RESOURCES;
     }
     //
@@ -922,7 +922,7 @@ Returns:
   // InputLength != 0, but FileBuffer == NULL means out of resources.
   //
   if (FileBuffer == NULL) {
-    Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+    Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
     return EFI_OUT_OF_RESOURCES;
   }
 
@@ -1342,7 +1342,7 @@ Returns:
         goto Finish;
       }
       if (LogLevel > 9) {
-        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0~9, currnt input level is %d", (int) LogLevel);
+        Error (NULL, 0, 1003, "Invalid option value", "Debug Level range is 0~9, current input level is %d", (int) LogLevel);
         goto Finish;
       }
       SetPrintLevel (LogLevel);
@@ -1396,7 +1396,7 @@ Returns:
     if ((InputFileNum == 0) && (InputFileName == NULL)) {
       InputFileName = (CHAR8 **) malloc (MAXIMUM_INPUT_FILE_NUM * sizeof (CHAR8 *));
       if (InputFileName == NULL) {
-        Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
         goto Finish;
       }
       memset (InputFileName, 0, (MAXIMUM_INPUT_FILE_NUM * sizeof (CHAR8 *)));
@@ -1410,7 +1410,7 @@ Returns:
                                   );
 
       if (InputFileName == NULL) {
-        Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
         goto Finish;
       }
       memset (&(InputFileName[InputFileNum]), 0, (MAXIMUM_INPUT_FILE_NUM * sizeof (CHAR8 *)));
@@ -1454,7 +1454,7 @@ Returns:
       DummyFileBuffer = (UINT8 *) malloc (DummyFileSize);
       if (DummyFileBuffer == NULL) {
         fclose(DummyFile);
-        Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
         goto Finish;
       }
 
@@ -1463,7 +1463,7 @@ Returns:
       DebugMsg (NULL, 0, 9, "Dummy files", "the dummy file name is %s and the size is %u bytes", DummyFileName, (unsigned) DummyFileSize);
 
       if (InputFileName == NULL) {
-        Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
         goto Finish;
       }
       InFile = fopen(LongFilePath(InputFileName[0]), "rb");
@@ -1478,7 +1478,7 @@ Returns:
       InFileBuffer = (UINT8 *) malloc (InFileSize);
       if (InFileBuffer == NULL) {
         fclose(InFile);
-        Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
         goto Finish;
       }
 
@@ -1685,7 +1685,7 @@ Returns:
     Index += (strlen (StringBuffer) * 2) + 2;
     OutFileBuffer = (UINT8 *) malloc (Index);
     if (OutFileBuffer == NULL) {
-      Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+      Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
       goto Finish;
     }
     VersionSect = (EFI_VERSION_SECTION *) OutFileBuffer;
@@ -1706,7 +1706,7 @@ Returns:
     Index += (strlen (StringBuffer) * 2) + 2;
     OutFileBuffer = (UINT8 *) malloc (Index);
     if (OutFileBuffer == NULL) {
-      Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+      Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
       goto Finish;
     }
     UiSect = (EFI_USER_INTERFACE_SECTION *) OutFileBuffer;
@@ -1734,7 +1734,7 @@ Returns:
     if (Status == EFI_BUFFER_TOO_SMALL) {
       OutFileBuffer = (UINT8 *) malloc (InputLength);
       if (OutFileBuffer == NULL) {
-        Error (NULL, 0, 4001, "Resource", "memory cannot be allcoated");
+        Error (NULL, 0, 4001, "Resource", "memory cannot be allocated");
         goto Finish;
       }
       //
diff --git a/BaseTools/Source/C/Include/AArch64/ProcessorBind.h b/BaseTools/Source/C/Include/AArch64/ProcessorBind.h
index f956cab453..b21fb894e6 100644
--- a/BaseTools/Source/C/Include/AArch64/ProcessorBind.h
+++ b/BaseTools/Source/C/Include/AArch64/ProcessorBind.h
@@ -32,7 +32,7 @@
 
 #if _MSC_EXTENSIONS
   //
-  // use Microsoft* C complier dependent integer width types
+  // use Microsoft* C compiler dependent integer width types
   //
   typedef unsigned __int64    UINT64;
   typedef __int64             INT64;
diff --git a/BaseTools/Source/C/Include/Arm/ProcessorBind.h b/BaseTools/Source/C/Include/Arm/ProcessorBind.h
index 856d2bd9ef..58d889014b 100644
--- a/BaseTools/Source/C/Include/Arm/ProcessorBind.h
+++ b/BaseTools/Source/C/Include/Arm/ProcessorBind.h
@@ -30,7 +30,7 @@
 
 #if _MSC_EXTENSIONS
   //
-  // use Microsoft* C complier dependent integer width types
+  // use Microsoft* C compiler dependent integer width types
   //
   typedef unsigned __int64    UINT64;
   typedef __int64             INT64;
diff --git a/BaseTools/Source/C/Include/Common/BaseTypes.h b/BaseTools/Source/C/Include/Common/BaseTypes.h
index 751b6f1b3b..b877e002c8 100644
--- a/BaseTools/Source/C/Include/Common/BaseTypes.h
+++ b/BaseTools/Source/C/Include/Common/BaseTypes.h
@@ -50,7 +50,7 @@
 #ifndef TRUE
 //
 // BugBug: UEFI specification claims 1 and 0. We are concerned about the
-//  complier portability so we did it this way.
+//  compiler portability so we did it this way.
 //
 #define TRUE  ((BOOLEAN)(1==1))
 #endif
diff --git a/BaseTools/Source/C/Include/Common/MdeModuleHii.h b/BaseTools/Source/C/Include/Common/MdeModuleHii.h
index e6538e2fdd..18a790156f 100644
--- a/BaseTools/Source/C/Include/Common/MdeModuleHii.h
+++ b/BaseTools/Source/C/Include/Common/MdeModuleHii.h
@@ -207,19 +207,19 @@ typedef struct _EFI_IFR_GUID_VAREQNAME {
   /// For vareqval (0x100), NameId is 0x100.
   /// This value will convert to a Unicode String following this rule;
   ///            sprintf(StringBuffer, "%d", NameId) .
-  /// The the Unicode String will be used as a EFI Variable Name.
+  /// The Unicode String will be used as a EFI Variable Name.
   ///
   UINT16              NameId;
 } EFI_IFR_GUID_VAREQNAME;
 
 ///
-/// EDKII implementation extension GUID, used to indaicate there are bit fields in the varstore.
+/// EDKII implementation extension GUID, used to indicate there are bit fields in the varstore.
 ///
 #define EDKII_IFR_BIT_VARSTORE_GUID \
   { 0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60 ,0xA7, 0x1D}}
 
 ///
-/// EDKII implementation extension flags, used to indaicate the disply style and bit width for bit filed storage.
+/// EDKII implementation extension flags, used to indicate the display style and bit width for bit filed storage.
 /// Two high bits for display style and the low six bits for bit width.
 ///
 #define EDKII_IFR_DISPLAY_BIT            0xC0
diff --git a/BaseTools/Source/C/Include/Common/PiFirmwareVolume.h b/BaseTools/Source/C/Include/Common/PiFirmwareVolume.h
index dcc52cd5e4..c495c1b2ff 100644
--- a/BaseTools/Source/C/Include/Common/PiFirmwareVolume.h
+++ b/BaseTools/Source/C/Include/Common/PiFirmwareVolume.h
@@ -148,7 +148,7 @@ typedef struct {
   EFI_GUID                          FormatType;
 
   //
-  // An arry of bytes of length Length.
+  // An array of bytes of length Length.
   //
   // UINT8                             Data[1];
   //
diff --git a/BaseTools/Source/C/Include/Common/UefiMultiPhase.h b/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
index 0982da4998..0753dd2e9d 100644
--- a/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
+++ b/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
@@ -201,7 +201,7 @@ typedef struct _WIN_CERTIFICATE_EFI_PKCS1_15 {
   EFI_CERT_TYPE_RSA2048_SHA256. If the attribute specifies
   authenticated access, then the Data buffer should begin with an
   authentication descriptor prior to the data payload and DataSize
-  should reflect the the data.and descriptor size. The caller
+  should reflect the data.and descriptor size. The caller
   shall digest the Monotonic Count value and the associated data
   for the variable update using the SHA-256 1-way hash algorithm.
   The ensuing the 32-byte digest will be signed using the private
diff --git a/BaseTools/Source/C/Include/Ia32/ProcessorBind.h b/BaseTools/Source/C/Include/Ia32/ProcessorBind.h
index 96ac691df0..72a22f765c 100644
--- a/BaseTools/Source/C/Include/Ia32/ProcessorBind.h
+++ b/BaseTools/Source/C/Include/Ia32/ProcessorBind.h
@@ -68,7 +68,7 @@
   #if _MSC_EXTENSIONS
 
     //
-    // use Microsoft* C complier dependent integer width types
+    // use Microsoft* C compiler dependent integer width types
     //
     typedef unsigned __int64    UINT64;
     typedef __int64             INT64;
@@ -138,7 +138,7 @@ typedef INT32   INTN;
 //
 #if _MSC_EXTENSIONS
   //
-  // Microsoft* compiler requires _EFIAPI useage, __cdecl is Microsoft* specific C.
+  // Microsoft* compiler requires _EFIAPI usage, __cdecl is Microsoft* specific C.
   //
   #define EFIAPI __cdecl
 #endif
diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h b/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h
index 3a109ffa08..39691e1d55 100644
--- a/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h
+++ b/BaseTools/Source/C/Include/IndustryStandard/Acpi2_0.h
@@ -497,7 +497,7 @@ typedef struct {
 #define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE  0x54494C53
 
 //
-// "SPCR" Serial Port Concole Redirection Table
+// "SPCR" Serial Port Console Redirection Table
 //
 #define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE  0x52435053
 
diff --git a/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h b/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h
index ad635efc74..ac6dbc5905 100644
--- a/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h
+++ b/BaseTools/Source/C/Include/IndustryStandard/Acpi3_0.h
@@ -650,7 +650,7 @@ typedef struct {
 #define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE  0x4746434D
 
 //
-// "SPCR" Serial Port Concole Redirection Table
+// "SPCR" Serial Port Console Redirection Table
 //
 #define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE  0x52435053
 
diff --git a/BaseTools/Source/C/Include/IndustryStandard/pci22.h b/BaseTools/Source/C/Include/IndustryStandard/pci22.h
index d7c5f0c858..5218d24ce7 100644
--- a/BaseTools/Source/C/Include/IndustryStandard/pci22.h
+++ b/BaseTools/Source/C/Include/IndustryStandard/pci22.h
@@ -98,7 +98,7 @@ typedef union {
 } PCI_TYPE_GENERIC;
 
 typedef struct {
-  UINT32  CardBusSocketReg; // Cardus Socket/ExCA Base
+  UINT32  CardBusSocketReg; // Cardbus Socket/ExCA Base
   // Address Register
   //
   UINT16  Reserved;
@@ -197,7 +197,7 @@ typedef struct {
 #define PCI_IF_8259_PIC               0x00
 #define PCI_IF_ISA_PIC                0x01
 #define PCI_IF_EISA_PIC               0x02
-#define PCI_IF_APIC_CONTROLLER        0x10 // I/O APIC interrupt controller , 32 bye none-prefectable memory.
+#define PCI_IF_APIC_CONTROLLER        0x10 // I/O APIC interrupt controller , 32 byte none-prefetchable memory.
 #define PCI_IF_APIC_CONTROLLER2       0x20
 #define PCI_SUBCLASS_TIMER            0x02
 #define PCI_IF_8254_TIMER             0x00
diff --git a/BaseTools/Source/C/Include/Protocol/DevicePathUtilities.h b/BaseTools/Source/C/Include/Protocol/DevicePathUtilities.h
index d046c86453..f27fb110be 100644
--- a/BaseTools/Source/C/Include/Protocol/DevicePathUtilities.h
+++ b/BaseTools/Source/C/Include/Protocol/DevicePathUtilities.h
@@ -125,7 +125,7 @@ EFI_DEVICE_PATH_PROTOCOL*
                                  If NULL, then the instance size is not output.
 
   @retval Pointer                A pointer to the copy of the current device path instance.
-  @retval NULL                   DevicePathInstace was NULL on entry or there was insufficient memory.
+  @retval NULL                   DevicePathInstance was NULL on entry or there was insufficient memory.
 
 **/
 typedef
diff --git a/BaseTools/Source/C/Include/Protocol/GraphicsOutput.h b/BaseTools/Source/C/Include/Protocol/GraphicsOutput.h
index e03bda80c8..0bd60c0b65 100644
--- a/BaseTools/Source/C/Include/Protocol/GraphicsOutput.h
+++ b/BaseTools/Source/C/Include/Protocol/GraphicsOutput.h
@@ -149,12 +149,12 @@ typedef enum {
   @param  DestinationX X coordinate of destination for the BltBuffer.
   @param  DestinationY Y coordinate of destination for the BltBuffer.
   @param  Width        Width of rectangle in BltBuffer in pixels.
-  @param  Height       Hight of rectangle in BltBuffer in pixels.
+  @param  Height       Height of rectangle in BltBuffer in pixels.
   @param  Delta        OPTIONAL
 
   @retval EFI_SUCCESS           The Blt operation completed.
   @retval EFI_INVALID_PARAMETER BltOperation is not valid.
-  @retval EFI_DEVICE_ERROR      A hardware error occured writting to the video buffer.
+  @retval EFI_DEVICE_ERROR      A hardware error occurred writing to the video buffer.
 
 **/
 typedef
diff --git a/BaseTools/Source/C/Include/Protocol/GuidedSectionExtraction.h b/BaseTools/Source/C/Include/Protocol/GuidedSectionExtraction.h
index 83d7466586..cb9ea124b9 100644
--- a/BaseTools/Source/C/Include/Protocol/GuidedSectionExtraction.h
+++ b/BaseTools/Source/C/Include/Protocol/GuidedSectionExtraction.h
@@ -25,7 +25,7 @@
 #define __EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL_H__
 
 //
-// Forward reference for pure ANSI compatability
+// Forward reference for pure ANSI compatibility
 
 typedef struct _EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL;
 
diff --git a/BaseTools/Source/C/Include/Protocol/UgaDraw.h b/BaseTools/Source/C/Include/Protocol/UgaDraw.h
index a89a867ac3..0e33baa4f7 100644
--- a/BaseTools/Source/C/Include/Protocol/UgaDraw.h
+++ b/BaseTools/Source/C/Include/Protocol/UgaDraw.h
@@ -133,12 +133,12 @@ typedef enum {
     @param[in] DestinationX  - X coordinate of destination for the BltBuffer.
     @param[in] DestinationY  - Y coordinate of destination for the BltBuffer.
     @param[in] Width         - Width of rectangle in BltBuffer in pixels.
-    @param[in] Height        - Hight of rectangle in BltBuffer in pixels.
+    @param[in] Height        - Height of rectangle in BltBuffer in pixels.
     @param[in] Delta         - OPTIONAL
 
     @retval EFI_SUCCESS           - The Blt operation completed.
     @retval EFI_INVALID_PARAMETER - BltOperation is not valid.
-    @retval EFI_DEVICE_ERROR      - A hardware error occured writting to the video buffer.
+    @retval EFI_DEVICE_ERROR      - A hardware error occurred writing to the video buffer.
 
 --*/
 typedef
diff --git a/BaseTools/Source/C/Include/X64/ProcessorBind.h b/BaseTools/Source/C/Include/X64/ProcessorBind.h
index 9877385083..da5cd9acd4 100644
--- a/BaseTools/Source/C/Include/X64/ProcessorBind.h
+++ b/BaseTools/Source/C/Include/X64/ProcessorBind.h
@@ -71,7 +71,7 @@
 
 
     //
-    // use Microsoft C complier dependent integer width types
+    // use Microsoft C compiler dependent integer width types
     //
     typedef unsigned __int64    UINT64;
     typedef __int64             INT64;
@@ -153,17 +153,17 @@ typedef INT64   INTN;
 //
 // Modifier to ensure that all protocol member functions and EFI intrinsics
 // use the correct C calling convention. All protocol member functions and
-// EFI intrinsics are required to modify thier member functions with EFIAPI.
+// EFI intrinsics are required to modify their member functions with EFIAPI.
 //
 #if _MSC_EXTENSIONS
   ///
-  /// Define the standard calling convention reguardless of optimization level.
+  /// Define the standard calling convention regardless of optimization level.
   /// __cdecl is Microsoft* specific C extension.
   ///
   #define EFIAPI __cdecl
 #elif __GNUC__
   ///
-  /// Define the standard calling convention reguardless of optimization level.
+  /// Define the standard calling convention regardless of optimization level.
   /// efidecl is an extension to GCC that supports the differnece between x64
   /// GCC ABI and x64 Microsoft* ABI. EFI is closer to the Microsoft* ABI and
   /// EFIAPI makes sure the right ABI is used for public interfaces.
diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.h b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.h
index c9938f04bc..0ec95b50c3 100644
--- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.h
+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.h
@@ -42,7 +42,7 @@ UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2);
 SRes:
   SZ_OK           - OK
   SZ_ERROR_MEM    - Memory allocation error
-  SZ_ERROR_PARAM  - Incorrect paramater in props
+  SZ_ERROR_PARAM  - Incorrect parameter in props
   SZ_ERROR_WRITE  - ISeqOutStream write callback error
   SZ_ERROR_OUTPUT_EOF - output buffer overflow - version with (Byte *) output
   SZ_ERROR_PROGRESS - some break from progress callback
diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-history.txt b/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-history.txt
index f4793264a5..d7426d38a4 100644
--- a/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-history.txt
+++ b/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-history.txt
@@ -142,7 +142,7 @@ HISTORY of the LZMA SDK
 9.35 beta      2014-12-07
 -------------------------	
 - 7zr.exe now support AES encryption.
-- SFX mudules were added to LZMA SDK
+- SFX modules were added to LZMA SDK
 - Some bugs were fixed.
 
 
diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-sdk.txt b/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-sdk.txt
index 01521e9398..a3deb20943 100644
--- a/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-sdk.txt
+++ b/BaseTools/Source/C/LzmaCompress/Sdk/DOC/lzma-sdk.txt
@@ -54,7 +54,7 @@ LZMA SDK Contents
     - C                     - small SFXs for installers (7z decompression)
     -     C++               - SFXs and SFXs for installers (7z decompression)
 
-  Precomiled binaries:
+  Precompiled binaries:
 
     - console programs for lzma / 7z / xz compression and decompression
     - SFX modules for installers.
diff --git a/BaseTools/Source/C/Split/Split.c b/BaseTools/Source/C/Split/Split.c
index 6b0a32376d..ff4a433541 100644
--- a/BaseTools/Source/C/Split/Split.c
+++ b/BaseTools/Source/C/Split/Split.c
@@ -328,7 +328,7 @@ Returns:
       if (strlen(argv[0]) > 2) {
         Status = CountVerboseLevel (&argv[0][2], strlen(argv[0]) - 2, &VerboseLevel);
         if (EFI_ERROR (Status)) {
-          Error (NULL, 0, 0x1003, NULL, "%s is invaild parameter!", argv[0]);
+          Error (NULL, 0, 0x1003, NULL, "%s is invalid parameter!", argv[0]);
           return STATUS_ERROR;
         }
       }
@@ -351,7 +351,7 @@ Returns:
     //
     // Don't recognize the parameter.
     //
-    Error (NULL, 0, 0x1003, NULL, "%s is invaild parameter!", argv[0]);
+    Error (NULL, 0, 0x1003, NULL, "%s is invalid parameter!", argv[0]);
     return STATUS_ERROR;
   }
 
diff --git a/BaseTools/Source/C/TianoCompress/TianoCompress.c b/BaseTools/Source/C/TianoCompress/TianoCompress.c
index a77f6798ec..29b11c597f 100644
--- a/BaseTools/Source/C/TianoCompress/TianoCompress.c
+++ b/BaseTools/Source/C/TianoCompress/TianoCompress.c
@@ -229,7 +229,7 @@ Routine Description:
 
   Allocate memory spaces for data structures used in compression process
 
-Argements:
+Arguments:
   VOID
 
 Returns:
@@ -507,7 +507,7 @@ Returns: (VOID)
   if (mMatchLen >= 4) {
     //
     // We have just got a long match, the target tree
-    // can be located by MatchPos + 1. Travese the tree
+    // can be located by MatchPos + 1. Traverse the tree
     // from bottom up to get to a proper starting point.
     // The usage of PERC_FLAG ensures proper node deletion
     // in DeleteNode() later.
@@ -1708,7 +1708,7 @@ Returns:
   fprintf (stdout, "  --uefi\n\
             Enable UefiCompress, use TianoCompress when without this option\n");
   fprintf (stdout, "  -o FileName, --output FileName\n\
-            File will be created to store the ouput content.\n");
+            File will be created to store the output content.\n");
   fprintf (stdout, "  -v, --verbose\n\
            Turn on verbose output with informational messages.\n");
   fprintf (stdout, "  -q, --quiet\n\
@@ -2714,11 +2714,11 @@ Arguments:
   Source          - The source buffer containing the compressed data.
   Destination     - The destination buffer to store the decompressed data
   Scratch         - The buffer used internally by the decompress routine. This  buffer is needed to store intermediate data.
-  Version         - 1 for EFI1.1 Decompress algoruthm, 2 for Tiano Decompress algorithm
+  Version         - 1 for EFI1.1 Decompress algorithm, 2 for Tiano Decompress algorithm
 
 Returns:
 
-  RETURN_SUCCESS           - Decompression is successfull
+  RETURN_SUCCESS           - Decompression is successful
   RETURN_INVALID_PARAMETER - The source data is corrupted
 
 --*/
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133.txt b/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133.txt
index 2128c4ff25..086af5097f 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133.txt
+++ b/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133.txt
@@ -40,7 +40,7 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 #309. (Changed in MR32) Renamed baseName because of VMS name conflict
 
     Renamed baseName to pcctsBaseName to avoid library name conflict with
-    VMS library routine.  Reported by Jean-FranÁois PI…RONNE.
+    VMS library routine.  Reported by Jean-FranÔøΩois PIÔøΩRONNE.
     
 #308. (Changed in MR32) Used "template" as name of formal in C routine
 
@@ -210,7 +210,7 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 
     Sorcerer generated code may contain many calls to _t->type() in a
     single statement.  This change introduces a temporary variable
-    to eliminate unnnecesary function calls.
+    to eliminate unnecesary function calls.
 
     Change implemented by Tom Molteno (tim videoscript.com).
 
@@ -525,11 +525,11 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 #275. (Changed in MR23) Addition of -nopurify option to antlr
 
     A long time ago the PURIFY macro was introduced to initialize
-    return value arguments and get rid of annying messages from program
-    that checked for unitialized variables.
+    return value arguments and get rid of annoying messages from program
+    that checked for uninitialized variables.
 
     This has caused significant annoyance for C++ users that had
-    classes with virtual functions or non-trivial contructors because
+    classes with virtual functions or non-trivial constructors because
     it would zero the object, including the pointer to the virtual
     function table.  This could be defeated by redefining
     the PURIFY macro to be empty, but it was a constant surprise to
@@ -656,12 +656,12 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 #266. (Changed in MR23) virtual function printMessage()
 
     Bill Menees (bill.menees gogallagher.com) has completed the
-    tedious taks of replacing all calls to fprintf() with calls
+    tedious tasks of replacing all calls to fprintf() with calls
     to the virtual function printMessage().  For classes which
     have a pointer to the parser it forwards the printMessage()
     call to the parser's printMessage() routine.
 
-    This should make it significanly easier to redirect pccts
+    This should make it significantly easier to redirect pccts
     error and warning messages.
 
 #265. (Changed in MR23) Remove "labase++" in C++ mode
@@ -975,7 +975,7 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
     
 #249. (MR21) Changes for DEC/VMS systems
 
-    Jean-FranÁois PiÈronne (jfp altavista.net) has updated some
+    Jean-FranÔøΩois PiÔøΩronne (jfp altavista.net) has updated some
     VMS related command files and fixed some minor problems related
     to building pccts under the DEC/VMS operating system.  For DEC/VMS
     users the most important differences are:
@@ -1253,7 +1253,7 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 
 #228. (Changed in MR20) dlg crashes on "()"
 
-    The following token defintion will cause DLG to crash.
+    The following token definition will cause DLG to crash.
 
         #token "()"
 
@@ -1747,10 +1747,10 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 
 #195. (Changed in MR14) #line directive not at column 1
 
-      Under certain circunstances a predicate test could generate
+      Under certain circumstances a predicate test could generate
       a #line directive which was not at column 1.
 
-      Reported with fix by David KÂgedal  (davidk lysator.liu.se)
+      Reported with fix by David KÔøΩgedal  (davidk lysator.liu.se)
       (http://www.lysator.liu.se/~davidk/).
 
 #194. (Changed in MR14) (C Mode only) Demand lookahead with #tokclass
@@ -2319,7 +2319,7 @@ List of Implemented Fixes and Changes for Maintenance Releases of PCCTS
 #164. (Changed in MR13) Unused variable _astp
 
       For many compilations, we have lived with warnings about
-      the unused variable _astp.  It turns out that this varible
+      the unused variable _astp.  It turns out that this variable
       can *never* be used because the code which references it was
       commented out.
 
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133_BEFORE_MR13.txt b/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133_BEFORE_MR13.txt
index bba5ecdd64..33d7d20a6a 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133_BEFORE_MR13.txt
+++ b/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_FROM_133_BEFORE_MR13.txt
@@ -690,7 +690,7 @@
 
       The first line of the makefiles require a definition of PCCTS_HOME.
 
-      These are in additiion to the AntlrMSVC50.* and DlgMSVC50.*
+      These are in addition to the AntlrMSVC50.* and DlgMSVC50.*
       supplied by Jeff Vincent (JVincent@novell.com).
 
 #137. (Changed in MR11) Token getType(), getText(), getLine() const members
@@ -1681,7 +1681,7 @@
       the variable [zz]traceOptionValueDefault is set to 0 or 1.  When
       the parser is initialized or [zz]traceReset() is called the
       value of [zz]traceOptionValueDefault is copied to [zz]traceOptionValue.
-      The value of [zz]traceGuessOptionValue is always initialzed to 1,
+      The value of [zz]traceGuessOptionValue is always initialized to 1,
       but, as noted earlier, nothing will be reported unless
       [zz]traceOptionValue is also positive.
 
@@ -2028,7 +2028,7 @@
 
       The syntax of the class statement ("class parser-name {")
       has been extended to allow for the specification of base
-      classes.  An arbirtrary number of tokens may now appear
+      classes.  An arbitrary number of tokens may now appear
       between the class name and the "{".  They are output
       again when the class declaration is generated.  For
       example:
@@ -2225,7 +2225,7 @@
         This is especially important for predicates formed by rules
         like the following:
 
-            uppperCaseVowel : <<isUpperCase(LATEXT(1))>>?  vowel;
+            upperCaseVowel  : <<isUpperCase(LATEXT(1))>>?  vowel;
             vowel:          : <<isVowel(LATEXT(1))>>? LETTERS;
 
         These predicates are combined using AND since both must be
@@ -2492,7 +2492,7 @@
       a predicate expression tree.  Prior to 1.33MR10 this link was never
       cleared and the next time the guard was used to construct a new
       tree the link could contain a spurious reference to another element
-      which had previosly been joined to it in the semantic predicate tree.
+      which had previously been joined to it in the semantic predicate tree.
 
       For example:
 
@@ -2565,7 +2565,7 @@
       tokens.  They may not contain references to (...)+ and
       (...)* blocks.  This is now checked.  This replaces the
       fatal error message in item #78 with an appropriate
-      (non-fatal) error messge.
+      (non-fatal) error message.
 
       In theory, context guards should be allowed to reference
       rules.  However, I have not had time to fix this.
@@ -2581,7 +2581,7 @@
       correctly when the sets were of unequal sizes.  Rewrote
       set_equ to make it simpler and remove unnecessary and
       expensive calls to set_deg().  This routine was not used
-      in 1.33 vanila.
+      in 1.33 vanilla.
 
 #85.  (Changed in 1.33MR10) Allow redefinition of MaxNumFiles
 
@@ -2617,7 +2617,7 @@
 
       There were no changes in antlr or dlg output from the revised version.
 
-      The following fragment demonstates the problem by giving different
+      The following fragment demonstrates the problem by giving different
       follow sets (option -pa) for var_access when built with k=1 and ck=2 on
       1.33 vanilla and 1.33MR10:
 
@@ -2658,7 +2658,7 @@
 
          1. start : r:rule t:Token <<$start=$r;>>
 
-                The $r refrence will not work when combined with
+                The $r reference will not work when combined with
                 the -gt option.
 
          2. start : t:Token         <<$start=$t;>>
@@ -3010,7 +3010,7 @@
             parse by "falling through".  The parse can still be easily
             resumed in other ways, but not in the most natural fashion.
 
-            This results in an inconsistentcy between named exception
+            This results in an inconsistency between named exception
             handlers and exception handlers for alternatives.  When
             an exception handler for an alternative "falls through"
             it goes to the nextmost outer handler - not the "normal
@@ -3062,7 +3062,7 @@
             zzconsumeUntil()
             zzconsumeUntilToken()
 
-#58.  (Changed in 1.33MR7) Added defintion of zzbufsize to dlgauto.h
+#58.  (Changed in 1.33MR7) Added definition of zzbufsize to dlgauto.h
 
 #57.  (Changed in 1.33MR7) Format of #line directive
 
@@ -3073,9 +3073,9 @@
 
 #56.  (Added in 1.33MR7) Jan Mikkelsen <janm@zeta.org.au>
 
-        Move PURIFY macro invocaton to after rule's init action.
+        Move PURIFY macro invocation to after rule's init action.
 
-#55.  (Fixed in 1.33MR7) Unitialized variables in ANTLRParser
+#55.  (Fixed in 1.33MR7) Uninitialized variables in ANTLRParser
 
         Member variables inf_labase and inf_last were not initialized.
         (See item #50.)
@@ -3115,7 +3115,7 @@
         The reason for "Normal Action" is that the normal flow of the
         program after a user-written exception handler is to "drop through".
         In the case of an exception handler for a rule this results in
-        the exection of a "return" statement.  In the case of an
+        the execution of a "return" statement.  In the case of an
         exception handler attached to an alternative, rule, or token
         this is the code that would have executed had there been no
         exception.
@@ -3332,7 +3332,7 @@
 
         Repair bug introduced by 1.33MR1 for #tokdefs.  The original fix
         placed "DLGmaxToken=9999" and "DLGminToken=0" in the TokenType enum
-        in order to fix a problem with an aggresive compiler assigning an 8
+        in order to fix a problem with an aggressive compiler assigning an 8
         bit enum which might be too narrow.  This caused #tokdefs to assume
         that there were 9999 real tokens.  The repair to the fix causes antlr to
         ignore TokenTypes "DLGmaxToken" and "DLGminToken" in a #tokdefs file.
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_SUMMARY.txt b/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_SUMMARY.txt
index 91defae169..7134500e2f 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_SUMMARY.txt
+++ b/BaseTools/Source/C/VfrCompile/Pccts/CHANGES_SUMMARY.txt
@@ -1350,7 +1350,7 @@
       the variable [zz]traceOptionValueDefault is set to 0 or 1.  When
       the parser is initialized or [zz]traceReset() is called the
       value of [zz]traceOptionValueDefault is copied to [zz]traceOptionValue.
-      The value of [zz]traceGuessOptionValue is always initialzed to 1,
+      The value of [zz]traceGuessOptionValue is always initialized to 1,
       but, as noted earlier, nothing will be reported unless
       [zz]traceOptionValue is also positive.
 
@@ -1766,7 +1766,7 @@
         This is especially important for predicates formed by rules
         like the following:
 
-            uppperCaseVowel : <<isUpperCase(LATEXT(1))>>?  vowel;
+            upperCaseVowel  : <<isUpperCase(LATEXT(1))>>?  vowel;
             vowel:          : <<isVowel(LATEXT(1))>>? LETTERS;
 
         These predicates are combined using AND since both must be
@@ -1928,7 +1928,7 @@
             parse by "falling through".  The parse can still be easily
             resumed in other ways, but not in the most natural fashion.
 
-            This results in an inconsistentcy between named exception
+            This results in an inconsistency between named exception
             handlers and exception handlers for alternatives.  When
             an exception handler for an alternative "falls through"
             it goes to the nextmost outer handler - not the "normal
@@ -1990,7 +1990,7 @@
         The reason for "Normal Action" is that the normal flow of the
         program after a user-written exception handler is to "drop through".
         In the case of an exception handler for a rule this results in
-        the exection of a "return" statement.  In the case of an
+        the execution of a "return" statement.  In the case of an
         exception handler attached to an alternative, rule, or token
         this is the code that would have executed had there been no
         exception.
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/KNOWN_PROBLEMS.txt b/BaseTools/Source/C/VfrCompile/Pccts/KNOWN_PROBLEMS.txt
index 5a9b22e1bd..539cf77525 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/KNOWN_PROBLEMS.txt
+++ b/BaseTools/Source/C/VfrCompile/Pccts/KNOWN_PROBLEMS.txt
@@ -22,7 +22,7 @@
     If the context guard g is not a subset of the lookahead context for r1
     (in other words g is neither A nor B) then the code may execute r1 
     even when the lookahead context is not satisfied.  This is an error
-    by the person coding the grammer, and the error should be reported to
+    by the person coding the grammar, and the error should be reported to
     the user, but it isn't. expect.  Some examples I've run seem to
     indicate that such an error actually results in the rule becoming
     unreachable.
@@ -184,7 +184,7 @@
 
     THM:  In MR20 have fixed the most common cases.
 
-    The following token defintion will cause DLG to crash.
+    The following token definition will cause DLG to crash.
 
         #token "()"
 
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.c
index 8088b3c257..58d0b134b9 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.c
@@ -1394,7 +1394,7 @@ tclass()
   /* MR23 */         if (p!= NULL && akaString != NULL) {
     /* MR23 */           if (p->akaString != NULL) {
       /* MR23 */             if (strcmp(p->akaString,akaString) != 0) {
-        /* MR23 */                warnFL(eMsg2("this #tokclass statment conflicts with a previous #tokclass %s(\"%s\") statement",
+        /* MR23 */                warnFL(eMsg2("this #tokclass statement conflicts with a previous #tokclass %s(\"%s\") statement",
         /* MR23 */                              t,p->akaString),
         /* MR23 */			                    FileStr[save_file],save_line);
         /* MR23 */             };
@@ -1635,7 +1635,7 @@ token()
     if (te != NULL && akaString != NULL) {
       if (te->akaString != NULL) {
         if (strcmp(te->akaString,akaString) != 0) {
-          warnFL(eMsg2("this #token statment conflicts with a previous #token %s(\"%s\") statement",
+          warnFL(eMsg2("this #token statement conflicts with a previous #token %s(\"%s\") statement",
           t,te->akaString),
           FileStr[save_file],save_line);
         };
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.g b/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.g
index e01728a102..c44b036c6f 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.g
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.g
@@ -1331,7 +1331,7 @@ tclass	:	<<char *t=NULL; TCnode *e; int go=1,tok,totok; TermEntry *p, *term, *to
 /* MR23 */         if (p!= NULL && akaString != NULL) {
 /* MR23 */           if (p->akaString != NULL) {
 /* MR23 */             if (strcmp(p->akaString,akaString) != 0) {
-/* MR23 */                warnFL(eMsg2("this #tokclass statment conflicts with a previous #tokclass %s(\"%s\") statement",
+/* MR23 */                warnFL(eMsg2("this #tokclass statement conflicts with a previous #tokclass %s(\"%s\") statement",
 /* MR23 */                              t,p->akaString),
 /* MR23 */			                    FileStr[save_file],save_line);
 /* MR23 */             };
@@ -1439,7 +1439,7 @@ token	:	<<char *t=NULL, *e=NULL, *a=NULL; int tnum=0;>>
                 if (te != NULL && akaString != NULL) {
                   if (te->akaString != NULL) {
                     if (strcmp(te->akaString,akaString) != 0) {
-                      warnFL(eMsg2("this #token statment conflicts with a previous #token %s(\"%s\") statement",
+                      warnFL(eMsg2("this #token statement conflicts with a previous #token %s(\"%s\") statement",
                                     t,te->akaString),
                         FileStr[save_file],save_line);
                     };
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.r b/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.r
index e3de38759f..a8d183c4eb 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.r
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/antlr.r
@@ -286,7 +286,7 @@ resource 'cmdo' (128, "Antlr") {
 				"If this option is checked, ANTLR will ge"
 				"nerate a cross reference for all rules. "
 				"For each rule it will print a list of al"
-				"l other rules that refrence it."
+				"l other rules that reference it."
 			},
 			/* [10] */
 			NotDependent {
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/egman.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/egman.c
index c8a633fc06..ba1384dabe 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/egman.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/egman.c
@@ -166,7 +166,7 @@ ExceptionGroup *eg;
         };
       };
 
-      /*  ocurs at a later pass then for the exception_label       */
+      /*  occurs at a later pass then for the exception_label      */
       /*  if an outerEG has been found then fill in the outer EG   */
       /*  remove if from the list when the BlkLevel gets smaller   */
 
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset.c
index e1a76ec620..e3fac09f2a 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset.c
@@ -353,7 +353,7 @@ set *rk_out;
 		set_orin(&a, b);
 		set_free(b);
 	}
-	set_free(rk);				/* this has no members, but free it's memory */
+	set_free(rk);				/* this has no members, but free its memory */
 	set_orin(rk_out, rk2);		/* remember what we couldn't do */
 	set_free(rk2);
     if (MR_MaintainBackTrace) MR_pointerStackPop(&MR_BackTraceStack);
@@ -937,7 +937,7 @@ int jtype;
     long    n;
     int     thisOverflow=0;             /* MR9 */
     long    set_deg_value;              /* MR10 */
-    long    threshhold;                 /* MR10 */
+    long    threshold;                 /* MR10 */
 
 	require(block!=NULL, "NULL block");
 	require(block->ntype==nJunction, "invalid block");
@@ -954,8 +954,8 @@ int jtype;
          		b = set_and(alt1->fset[i], alt2->fset[i]);
 /* MR9 */       set_deg_value = set_deg(b);
 /* MR10 */      if (n > 0) {
-/* MR10 */        threshhold = LONG_MAX / n;
-/* MR10 */        if (set_deg_value <= threshhold) {
+/* MR10 */        threshold = LONG_MAX / n;
+/* MR10 */        if (set_deg_value <= threshold) {
 /* MR10 */       	n *= set_deg_value;
 /* MR10 */        } else {
 /* MR10 */          n=LONG_MAX;
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset2.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset2.c
index fe1b4d6242..8a4823a054 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset2.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/fset2.c
@@ -739,7 +739,7 @@ set *rk_out;
 		t = tlink(t, u, k2);	/* any alts missing k2 toks, add u onto end */
         Tfree(u);               /* MR10 */
 	}
-	set_free(rk);				/* rk is empty, but free it's memory */
+	set_free(rk);				/* rk is empty, but free its memory */
 	set_orin(rk_out, rk2);		/* remember what we couldn't do */
 	set_free(rk2);
 	return t;
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/gen.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/gen.c
index 975558f0dd..8e41239f47 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/gen.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/gen.c
@@ -1590,7 +1590,7 @@ int *lastAltEmpty; /* MR23 */
 		   with input "C"
 
    Before MR21 the error message would be "expecting B - found C".  After MR21
-   the error message would be "expcect A, B - found C".  This was good, but it
+   the error message would be "expect A, B - found C".  This was good, but it
    caused problems for those using parser exceptions because the reference to
    B was generated inside the {...} where B really wasn't part of the block.
 
@@ -1781,7 +1781,7 @@ Junction *q;
 		followed by a loopBlock whereas the start of a (...)+ block is
 		represented as a single node: a plusBlock.  So if first_item_is_guess_block
 		is called when the current node is a loopBegin it starts with the
-		loop block rather than the the sub block which follows the loop block.
+		loop block rather than the sub block which follows the loop block.
 		However, we can't just skip past the loop block because some routines
 		depend on the old implementation.  So, we provide a new implementation
 		which does skip the loopBlock.  However, which should be called when ?
@@ -3496,7 +3496,7 @@ do {    /* MR10     Change recursion into iteration         */
 			/* MR23
 			   If there were only one return value operand and
 			   it had an initializer then it would have been
-			   initiailized in the declaration.
+			   initialized in the declaration.
 			*/
 
 			returnValueInitializer = getInitializer(q->ret);         /* MR23 */
@@ -3740,7 +3740,7 @@ RuleEntry *r;
         /* NOTICE: this is done only here, for the method definition, but  */
         /*         not for the method declaration inside the class         */
         /*         definition. This is exactly the behaviour defined in    */
-        /*         C++ standard for default paramters.                     */
+        /*         C++ standard for default parameters.                    */
 
 	DumpANSIFunctionArgDef(output,q, 0 /* emit initializers ? */);
 	_gen("\n");
@@ -4726,7 +4726,7 @@ int bInitializer;
 		blocks to look like (...|...| epsilon) since there were
 		intervening generics.  This fixes the problem for this
 		particular case.  Things like actions or empty blocks of
-		various kinds will still cause problems, but I wasnt't
+		various kinds will still cause problems, but I wasn't
 		prepared to handle pathological cases like (A|()*). It
 		does handle (A | ()), which is a recommended idiom for
 		epsilon.
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/generic.h b/BaseTools/Source/C/VfrCompile/Pccts/antlr/generic.h
index 8d736d5200..30cc8b6031 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/generic.h
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/generic.h
@@ -215,7 +215,7 @@ typedef Graph Attrib;
 
 						/* M a x i m u m s */
 
-/* MR20 Note G. Hobbelt These values are superceded by values in hash.h */
+/* MR20 Note G. Hobbelt These values are superseded by values in hash.h */
 
 #ifndef HashTableSize
 #define HashTableSize	253
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/lex.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/lex.c
index a4e7f69b36..357b8ace01 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/lex.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/lex.c
@@ -640,7 +640,7 @@ Junction *q;
  *
  */
 
-/* MR5 	Jan Mikkelsen 26-May-97 - added initalComma parameter              */
+/* MR5 	Jan Mikkelsen 26-May-97 - added initialComma parameter              */
 
 void
 #ifdef __USE_PROTOS
@@ -696,7 +696,7 @@ FILE *output;
 				  &pSeparator,
 				  &nest);
 
-    /* MR26 Handle rule arguments such as: IIR_Bool (IIR_Decl::*contstraint)()
+    /* MR26 Handle rule arguments such as: IIR_Bool (IIR_Decl::*constraint)()
        For this we need to strip off anything which follows the symbol.
      */
 
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/antlr/mrhoist.c b/BaseTools/Source/C/VfrCompile/Pccts/antlr/mrhoist.c
index 110bf5996f..b57f5ded84 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/antlr/mrhoist.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/antlr/mrhoist.c
@@ -2357,7 +2357,7 @@ NEXT_P:
  *      expression, such as "#pred NotA !A" or "#pred NotXY ! (X && Y) or
  *      "#pred XbarY !(X && Y)".  In particular, it cannot be set by any
  *      predicate expression occurring under any other circumstances.
- *      The #pred predicate expresssions are stored with in predEntry->pred
+ *      The #pred predicate expressions are stored with in predEntry->pred
  *      and do not normally appear anywhere else until the predicates are
  *      "unfolded" in order to recognize redundancies, conflicts, and
  *      tautologies.
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/automata.c b/BaseTools/Source/C/VfrCompile/Pccts/dlg/automata.c
index d6d5d7809d..2d473ec8b6 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/automata.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/automata.c
@@ -90,7 +90,7 @@ set nfa_states;
 	if (dfa_size<=dfa_allocated){
 		/* need to redo array */
 		if (!dfa_array){
-			/* need some to do inital allocation */
+			/* need some to do initial allocation */
 			dfa_size=dfa_allocated+DFA_MIN;
 			dfa_array=(dfa_node **) malloc(sizeof(dfa_node*)*
 				dfa_size);
@@ -113,7 +113,7 @@ set nfa_states;
 }
 
 
-/* past a pointer to the start start of the nfa graph
+/* past a pointer to the start of the nfa graph
  * nfa_to_dfa convers this graph to dfa.  The function returns
  * a pointer to the first dfa state.
  * NOTE:  The function that prints out the table will have to figure out how
@@ -219,7 +219,7 @@ FILE *f;
 #endif
 
 /* Returns a pointer to a dfa node that has the same nfa nodes in it.
- * This may or maynot be a newly created node.
+ * This may or may not be a newly created node.
  */
 dfa_node *
 #ifdef __USE_PROTOS
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.h b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.h
index 9f387c0a1c..97d1718c70 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.h
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.h
@@ -117,7 +117,7 @@ typedef struct {
 extern char	program[];	/* tells what program this is */
 extern char	version[];	/* tells what version this is */
 extern char	*file_str[];	/* file names being used */
-extern int	err_found;	/* flag to indicate error occured */
+extern int	err_found;	/* flag to indicate error occurred */
 extern int	action_no;	/* last action function printed */
 extern int	func_action;	/* should actions be turned into functions?*/
 extern set	used_chars;	/* used to label trans. arcs */
@@ -129,7 +129,7 @@ extern int	comp_level;	/* what compression level to use */
 extern int	interactive;	/* interactive scanner (avoid lookahead)*/
 extern int	mode_counter;	/* keeps track of the number of %%name */
 extern int	dfa_basep[];	/* start of each group of dfa */
-extern int	dfa_class_nop[];/* number of transistion arcs in */
+extern int	dfa_class_nop[];/* number of transition arcs in */
 				/* each dfa in each mode */
 extern int	nfa_allocated;
 extern int	dfa_allocated;
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.r b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.r
index c5311fa1b8..c88c151318 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.r
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg.r
@@ -23,9 +23,9 @@ resource 'cmdo' (128, "Dlg") {
 				{35, 175, 50, 225},
 				"On",
 				"-CC",
-				"When this control is checked, DLG genera"
-				"tes a scanner using C++ classes rather t"
-				"han C functions."
+				"When this control is checked, DLG generates "
+				"a scanner using C++ classes rather than "
+				"C functions."
 			},
 			/* [2] */
 			Or {
@@ -41,8 +41,7 @@ resource 'cmdo' (128, "Dlg") {
 				"DLGLexer",
 				keepCase,
 				"-cl",
-				"This entry specifies the name DLG uses f"
-				"or the C++ lexer class."
+				"This entry specifies the name DLG uses for the C++ lexer class."
 			},
 			/* [3] */
 			NotDependent {
@@ -90,8 +89,7 @@ resource 'cmdo' (128, "Dlg") {
 					{66, 25, 85, 135},
 					"Output File",
 					"",
-					"Choose the name of the file that will ho"
-					"ld the DLG-produced scanner."
+					"Choose the name of the file that will hold the DLG-produced scanner."
 				},
 				NoMore {
 
@@ -161,8 +159,7 @@ resource 'cmdo' (128, "Dlg") {
 				"mode.h",
 				keepCase,
 				"-m",
-				"This entry specifies the name DLG uses f"
-				"or its lexical mode output file."
+				"This entry specifies the name DLG uses for its lexical mode output file."
 			},
 			/* [11] */
 			NotDependent {
@@ -171,15 +168,14 @@ resource 'cmdo' (128, "Dlg") {
 			RadioButtons {
 				{	/* array radioArray: 3 elements */
 					/* [1] */
-					{134, 175, 149, 255}, "None", "", Set, "When this option is selected, DLG will n"
-					"ot compress its tables.",
+					{134, 175, 149, 255}, "None", "", Set, "When this option is selected, DLG will not "
+					"compress its tables.",
 					/* [2] */
-					{134, 265, 149, 345}, "Level 1", "-C1", NotSet, "When this option is selected, DLG will r"
-					"emove all unused characters from the tra"
-					"nsition-from table.",
+					{134, 265, 149, 345}, "Level 1", "-C1", NotSet, "When this option is selected, DLG will "
+					"remove all unused characters from the transition-from table.",
 					/* [3] */
-					{134, 360, 149, 450}, "Level 2", "-C2", NotSet, "When this option is selected, DLG will p"
-					"erform level 1 compression plus it will "
+					{134, 360, 149, 450}, "Level 2", "-C2", NotSet, "When this option is selected, DLG will "
+					"perform level 1 compression plus it will "
 					"map equivalent characters into the same "
 					"character classes."
 				}
@@ -202,8 +198,8 @@ resource 'cmdo' (128, "Dlg") {
 				{165, 20, 180, 145},
 				"Case Sensitive",
 				"-ci",
-				"When this control is checked, the DLG au"
-				"tomaton will treat upper and lower case "
+				"When this control is checked, the DLG automaton "
+				"will treat upper and lower case "
 				"characters identically."
 			},
 			/* [14] */
@@ -215,9 +211,8 @@ resource 'cmdo' (128, "Dlg") {
 				{165, 150, 180, 300},
 				"Interactive Scanner",
 				"-i",
-				"When this control is checked, DLG will g"
-				"enerate as interactive a scanner as poss"
-				"ible."
+				"When this control is checked, DLG will generate "
+				"as interactive a scanner as possible."
 			},
 			/* [15] */
 			NotDependent {
@@ -229,8 +224,8 @@ resource 'cmdo' (128, "Dlg") {
 				"Ambiguity Warnings",
 				"-Wambiguity",
 				"When this control is checked, DLG warns "
-				"if more than one regular expression coul"
-				"d match the same character sequence."
+				"if more than one regular expression could "
+				"match the same character sequence."
 			},
 			/* [16] */
 			NotDependent {
@@ -240,9 +235,9 @@ resource 'cmdo' (128, "Dlg") {
 				VersionString {
 					"1.33MR"
 				},
-				"PCCTS was written by Terence Parr, Russe"
-				"ll Quong, Will Cohen, and Hank Dietz: 19"
-				"89-1998. MPW port by Scott Haney.",
+				"PCCTS was written by Terence Parr, Russell "
+				"Quong, Will Cohen, and Hank Dietz: 1989-1998. "
+				"MPW port by Scott Haney.",
 				noDialog
 			},
 			/* [17] */
@@ -266,8 +261,8 @@ resource 'cmdo' (128, "Dlg") {
 				{142, 20, 157, 148},
 				"Generate ANSI C",
 				"-ga",
-				"When this control is checked, DLG genera"
-				"tes ANSI C compatible code."
+				"When this control is checked, DLG generates "
+				"ANSI C compatible code."
 			}
 		}
 	}
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.c b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.c
index 51f79759fb..fbaf93afc6 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.c
@@ -813,7 +813,7 @@ new_nfa_node()
   if (nfa_size<=nfa_allocated){
     /* need to redo array */
     if (!nfa_array){
-      /* need some to do inital allocation */
+      /* need some to do initial allocation */
       nfa_size=nfa_allocated+NFA_MIN;
       nfa_array=(nfa_node **) malloc(sizeof(nfa_node*)*
       nfa_size);
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.g b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.g
index 0e3fe6d9d7..657f3251a6 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.g
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/dlg_p.g
@@ -463,7 +463,7 @@ new_nfa_node()
 	if (nfa_size<=nfa_allocated){
 		/* need to redo array */
 		if (!nfa_array){
-			/* need some to do inital allocation */
+			/* need some to do initial allocation */
 			nfa_size=nfa_allocated+NFA_MIN;
 			nfa_array=(nfa_node **) malloc(sizeof(nfa_node*)*
 				nfa_size);
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/dlg/relabel.c b/BaseTools/Source/C/VfrCompile/Pccts/dlg/relabel.c
index 0b8bc163d1..f2dce30f5f 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/dlg/relabel.c
+++ b/BaseTools/Source/C/VfrCompile/Pccts/dlg/relabel.c
@@ -134,7 +134,7 @@ int		level;	/* compression level to uses */
 
 
 /* given pointer to beginning of graph and recursively walks it trying
- * to find a maximal partition.  This partion in returned in maximal_class
+ * to find a maximal partition.  This partition in returned in maximal_class
  */
 #ifdef __USE_PROTOS
 void intersect_nfa_labels(nfa_node* start,set* maximal_class)
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h b/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h
index a1efc3b3b9..4d682a5ef7 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h
+++ b/BaseTools/Source/C/VfrCompile/Pccts/h/ATokPtrImpl.h
@@ -69,7 +69,7 @@ ANTLRTokenPtr::~ANTLRTokenPtr()
 
 //
 //  8-Apr-97	MR1	Make operator -> a const member function
-//			  as weall as some other member functions
+//			  as well as some other member functions
 //
 ANTLRTokenPtr& ANTLRTokenPtr::operator = (const ANTLRTokenPtr & lhs)    // MR1
 {
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/h/DLG_stream_input.h b/BaseTools/Source/C/VfrCompile/Pccts/h/DLG_stream_input.h
index d2147f5217..f3b4b79e8a 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/h/DLG_stream_input.h
+++ b/BaseTools/Source/C/VfrCompile/Pccts/h/DLG_stream_input.h
@@ -6,7 +6,7 @@
 /* By Hubert Holin (Hubert.Holin@Bigfoot.com), 1998.		*/
 /*															*/
 /* This is completely free stuff, do whatever you want with	*/
-/* it (but then, I will take no responsability for whatever	*/
+/* it (but then, I will take no responsibility for whatever	*/
 /* may happen if you do either... caveat emptor!).			*/
 /*															*/
 /************************************************************/
@@ -24,12 +24,12 @@ PCCTS_NAMESPACE_STD
 
 
 // NOTES:	The semantics of the copy constructor
-//			and the affectation operator may be unwaranted...
+//			and the affectation operator may be unwarranted...
 //			and the stream may not be reset.
 //
 //			It would have been so much nicer for nextChar()
 //			to throw (of for the DLGInputStream to change status)
-//			upon hiting EOF than to return an "int"...
+//			upon hitting EOF than to return an "int"...
 
 template	<
 				class E,
diff --git a/BaseTools/Source/C/VfrCompile/Pccts/h/antlr.h b/BaseTools/Source/C/VfrCompile/Pccts/h/antlr.h
index 80664535d3..27a3242742 100644
--- a/BaseTools/Source/C/VfrCompile/Pccts/h/antlr.h
+++ b/BaseTools/Source/C/VfrCompile/Pccts/h/antlr.h
@@ -797,7 +797,7 @@ extern int zzguessing;
 extern zzjmp_buf zzguess_start;
 #endif
 
-/* Define global veriables that refer to values exported by the scanner.
+/* Define global variables that refer to values exported by the scanner.
  * These declarations duplicate those in dlgdef.h, but are needed
  * if ANTLR is not to generate a .dlg file (-gx); PS, this is a hack.
  */
diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
index 35339d01c5..f96707debf 100644
--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
@@ -1,6 +1,6 @@
 /** @file
 
-  VfrCompiler internal defintions.
+  VfrCompiler internal definitions.
 
 Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
diff --git a/BaseTools/Source/C/VfrCompile/VfrError.cpp b/BaseTools/Source/C/VfrCompile/VfrError.cpp
index c105d73bea..7dfea3afda 100644
--- a/BaseTools/Source/C/VfrCompile/VfrError.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrError.cpp
@@ -45,7 +45,7 @@ static SVFR_ERROR_HANDLE VFR_ERROR_HANDLE_TABLE [] = {
   { VFR_RETURN_DATA_STRING_ERROR, ": data field string error or not support"},
   { VFR_RETURN_DEFAULT_VALUE_REDEFINED, ": default value re-defined with different value"},
   { VFR_RETURN_CONSTANT_ONLY, ": only constant is allowed in the expression"},
-  { VFR_RETURN_VARSTORE_NAME_REDEFINED_ERROR, ": Varstore name is defined by more than one varstores, it can't be referred as varstore, only varstore strucure name could be used."},
+  { VFR_RETURN_VARSTORE_NAME_REDEFINED_ERROR, ": Varstore name is defined by more than one varstores, it can't be referred as varstore, only varstore structure name could be used."},
   { VFR_RETURN_BIT_WIDTH_ERROR, ": bit width must be <= sizeof (type) * 8 and the max width can not > 32" },
   { VFR_RETURN_STRING_TO_UINT_OVERFLOW, ": String to UINT* Overflow"},
   { VFR_RETURN_CODEUNDEFINED, ": undefined Error Code" }
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
index 2944ffc76b..6e63b69824 100644
--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
@@ -945,7 +945,7 @@ CFormPkg::DeclarePendingQuestion (
         }
         CNObj.SetFlags (0, Info.mVarType);
         //
-        // Use maximum value not to limit the vaild value for the undefined question.
+        // Use maximum value not to limit the valid value for the undefined question.
         //
         switch (Info.mVarType) {
         case EFI_IFR_TYPE_NUM_SIZE_64:
@@ -1515,7 +1515,7 @@ CIfrRecordInfoDB::IfrRecordAdjust (
       }
       //
       // extract inconsistent opcode list
-      // pNode is Incosistent opcode, tNode is End Opcode
+      // pNode is Inconsistent opcode, tNode is End Opcode
       //
 
       //
diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
index c72a62ae91..f8465d47d4 100644
--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
@@ -64,7 +64,7 @@ VfrParserStart (
 //
 // Define a lexical class for parsing quoted strings. Basically
 // starts with a double quote, and ends with a double quote that
-// is not preceeded with a backslash.
+// is not preceded with a backslash.
 //
 #lexclass QUOTED_STRING
 #token TheString            "~[\"]*\"" << mode (START); >>
@@ -1214,7 +1214,7 @@ vfrStatementVarStoreNameValue :
   ;
 
 //
-// keep classDeinition and validClassNames for compatibility but not generate
+// keep classDefinition and validClassNames for compatibility but not generate
 // any IFR object
 //
 classDefinition[UINT16 & Class] :
@@ -4121,7 +4121,7 @@ vfrStatementExpression [UINT32 RootLevel, UINT32 ExpOpCount = 0] :
 
 //
 // Add new sub function for the sub expression extension to remember the ExpOpCount
-// This funciton is only called by sub expression.
+// This function is only called by sub expression.
 //
 vfrStatementExpressionSub [UINT32 RootLevel, UINT32 & ExpOpCount] :
   andTerm[$RootLevel, $ExpOpCount]
@@ -5615,7 +5615,7 @@ EfiVfrParser::_DeclareDefaultFrameworkVarStore (
       VSEObj.SetAttributes (0x00000002); //hardcode EFI_VARIABLE_BOOTSERVICE_ACCESS attribute
       VSEObj.SetGuid (&pNode->mGuid);
       VSEObj.SetVarStoreId (pNode->mVarStoreId);
-      // Generate old efi varstore storage structure for compatiable with old "VarEqVal" opcode,
+      // Generate old efi varstore storage structure for compatible with old "VarEqVal" opcode,
       // which is 3 bytes less than new structure define in UEFI Spec 2.3.1.
       VSEObj.SetBinaryLength (sizeof (EFI_IFR_VARSTORE_EFI) - 3);
 #ifdef VFREXP_DEBUG
diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
index 2ebaf58f17..0d0f926f82 100644
--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
@@ -1177,7 +1177,7 @@ CVfrVarDataTypeDB::DataTypeAddBitField (
     }
   } else {
     //
-    // Check whether the bit fileds can be contained within one FieldType.
+    // Check whether the bit fields can be contained within one FieldType.
     //
     if (pTmp != NULL && pTmp->mIsBitField && strcmp (pTmp->mFieldType->mTypeName, pNewField->mFieldType->mTypeName) == 0 &&
        (pTmp->mBitOffset - pTmp->mOffset * 8) + pTmp->mBitWidth + pNewField->mBitWidth <= pNewField->mFieldType->mTotalSize * 8) {
@@ -2058,7 +2058,7 @@ CVfrDataStorage::GetVarStoreId (
   *VarStoreId         = EFI_VARSTORE_ID_INVALID;
 
   //
-  // Assume that Data strucutre name is used as StoreName, and check again.
+  // Assume that Data structure name is used as StoreName, and check again.
   //
   ReturnCode = GetVarStoreByDataType (StoreName, &pNode, StoreGuid);
   if (pNode != NULL) {
@@ -2843,7 +2843,7 @@ CVfrQuestionDB::PrintAllQuestion (
   SVfrQuestionNode *pNode = NULL;
 
   for (pNode = mQuestionList; pNode != NULL; pNode = pNode->mNext) {
-    printf ("Question VarId is %s and QuesitonId is 0x%x\n", pNode->mVarIdStr, pNode->mQuestionId);
+    printf ("Question VarId is %s and QuestionId is 0x%x\n", pNode->mVarIdStr, pNode->mQuestionId);
   }
 }
 
diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index a95d2c710e..620f49adf8 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -1187,7 +1187,7 @@ class PlatformAutoGen(AutoGen):
     #
     @cached_class_function
     def CreateCodeFile(self, CreateModuleCodeFile=False):
-        # only module has code to be greated, so do nothing if CreateModuleCodeFile is False
+        # only module has code to be created, so do nothing if CreateModuleCodeFile is False
         if not CreateModuleCodeFile:
             return
 
@@ -1849,7 +1849,7 @@ class PlatformAutoGen(AutoGen):
 
     ## Get tool chain definition
     #
-    #  Get each tool defition for given tool chain from tools_def.txt and platform
+    #  Get each tool definition for given tool chain from tools_def.txt and platform
     #
     @cached_property
     def ToolDefinition(self):
@@ -2130,8 +2130,8 @@ class PlatformAutoGen(AutoGen):
 
     ## Override PCD setting (type, value, ...)
     #
-    #   @param  ToPcd       The PCD to be overrided
-    #   @param  FromPcd     The PCD overrideing from
+    #   @param  ToPcd       The PCD to be overridden
+    #   @param  FromPcd     The PCD overriding from
     #
     def _OverridePcd(self, ToPcd, FromPcd, Module="", Msg="", Library=""):
         #
@@ -2218,7 +2218,7 @@ class PlatformAutoGen(AutoGen):
 
     ## Apply PCD setting defined platform to a module
     #
-    #   @param  Module  The module from which the PCD setting will be overrided
+    #   @param  Module  The module from which the PCD setting will be overridden
     #
     #   @retval PCD_list    The list PCDs with settings from platform
     #
@@ -2450,7 +2450,7 @@ class PlatformAutoGen(AutoGen):
 
     ## Append build options in platform to a module
     #
-    #   @param  Module  The module to which the build options will be appened
+    #   @param  Module  The module to which the build options will be appended
     #
     #   @retval options     The options appended with build options in platform
     #
@@ -2560,7 +2560,7 @@ class ModuleAutoGen(AutoGen):
         self.SourceDir = mws.relpath(self.SourceDir, self.WorkspaceDir)
 
         self.SourceOverrideDir = None
-        # use overrided path defined in DSC file
+        # use overridden path defined in DSC file
         if self.MetaFile.Key in GlobalData.gOverrideDir:
             self.SourceOverrideDir = GlobalData.gOverrideDir[self.MetaFile.Key]
 
@@ -2685,7 +2685,7 @@ class ModuleAutoGen(AutoGen):
     def Guid(self):
         #
         # To build same module more than once, the module path with FILE_GUID overridden has
-        # the file name FILE_GUIDmodule.inf, but the relative path (self.MetaFile.File) is the realy path
+        # the file name FILE_GUIDmodule.inf, but the relative path (self.MetaFile.File) is the real path
         # in DSC. The overridden GUID can be retrieved from file name
         #
         if os.path.basename(self.MetaFile.File) != os.path.basename(self.MetaFile.Path):
@@ -2745,7 +2745,7 @@ class ModuleAutoGen(AutoGen):
                                     self.MetaFile.BaseName
             ))
 
-    ## Return the directory to store the intermediate object files of the mdoule
+    ## Return the directory to store the intermediate object files of the module
     @cached_property
     def OutputDir(self):
         return _MakeDir((self.BuildDir, "OUTPUT"))
@@ -2757,7 +2757,7 @@ class ModuleAutoGen(AutoGen):
             return path.join(self.PlatformInfo.BuildDir, TAB_FV_DIRECTORY, "Ffs", self.Guid + self.Name)
         return ''
 
-    ## Return the directory to store auto-gened source files of the mdoule
+    ## Return the directory to store auto-gened source files of the module
     @cached_property
     def DebugDir(self):
         return _MakeDir((self.BuildDir, "DEBUG"))
@@ -2809,7 +2809,7 @@ class ModuleAutoGen(AutoGen):
 
     ## Get the depex string
     #
-    # @return : a string contain all depex expresion.
+    # @return : a string contain all depex expression.
     def _GetDepexExpresionString(self):
         DepexStr = ''
         DepexList = []
@@ -2819,11 +2819,11 @@ class ModuleAutoGen(AutoGen):
         for M in [self.Module] + self.DependentLibraryList:
             Filename = M.MetaFile.Path
             InfObj = InfSectionParser.InfSectionParser(Filename)
-            DepexExpresionList = InfObj.GetDepexExpresionList()
-            for DepexExpresion in DepexExpresionList:
-                for key in DepexExpresion:
+            DepexExpressionList = InfObj.GetDepexExpresionList()
+            for DepexExpression in DepexExpressionList:
+                for key in DepexExpression:
                     Arch, ModuleType = key
-                    DepexExpr = [x for x in DepexExpresion[key] if not str(x).startswith('#')]
+                    DepexExpr = [x for x in DepexExpression[key] if not str(x).startswith('#')]
                     # the type of build module is USER_DEFINED.
                     # All different DEPEX section tags would be copied into the As Built INF file
                     # and there would be separate DEPEX section tags
@@ -2878,7 +2878,7 @@ class ModuleAutoGen(AutoGen):
 
         DepexList = []
         #
-        # Append depex from dependent libraries, if not "BEFORE", "AFTER" expresion
+        # Append depex from dependent libraries, if not "BEFORE", "AFTER" expression
         #
         for M in [self.Module] + self.DependentLibraryList:
             Inherited = False
@@ -3323,7 +3323,7 @@ class ModuleAutoGen(AutoGen):
             IdfGenBinBuffer.close()
         return RetVal
 
-    ## Return the list of library modules explicitly or implicityly used by this module
+    ## Return the list of library modules explicitly or implicitly used by this module
     @cached_property
     def DependentLibraryList(self):
         # only merge library classes and PCD for non-library module
@@ -3894,8 +3894,8 @@ class ModuleAutoGen(AutoGen):
         AsBuiltInfDict['userextension_tianocore_item'] = UserExtStr
 
         # Generated depex expression section in comments.
-        DepexExpresion = self._GetDepexExpresionString()
-        AsBuiltInfDict['depexsection_item'] = DepexExpresion if DepexExpresion else ''
+        DepexExpression = self._GetDepexExpresionString()
+        AsBuiltInfDict['depexsection_item'] = DepexExpression if DepexExpression else ''
 
         AsBuiltInf = TemplateString()
         AsBuiltInf.Append(gAsBuiltInfHeaderString.Replace(AsBuiltInfDict))
diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py
index f9e3ac3a1d..2cea97ae10 100644
--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
+++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
@@ -92,8 +92,8 @@ class FileBuildRule:
 
     ## constructor
     #
-    #   @param  Input       The dictionary represeting input file(s) for a rule
-    #   @param  Output      The list represeting output file(s) for a rule
+    #   @param  Input       The dictionary representing input file(s) for a rule
+    #   @param  Output      The list representing output file(s) for a rule
     #   @param  Command     The list containing commands to generate the output from input
     #
     def __init__(self, Type, Input, Output, Command, ExtraDependency=None):
@@ -193,7 +193,7 @@ class FileBuildRule:
     #   @param  RelativeToDir   The relative path of the source file
     #   @param  PathSeparator   Path separator
     #
-    #   @retval     tuple       (Source file in full path, List of individual sourcefiles, Destionation file, List of build commands)
+    #   @retval     tuple       (Source file in full path, List of individual sourcefiles, Destination file, List of build commands)
     #
     def Apply(self, SourceFile, BuildRuleOrder=None):
         if not self.CommandList or not self.DestFileList:
@@ -396,7 +396,7 @@ class BuildRule:
     #   @param  LineIndex   The line index of build rule text
     #
     def ParseSubSection(self, LineIndex):
-        # currenly nothing here
+        # currently nothing here
         pass
 
     ## Placeholder for not supported sections
@@ -409,7 +409,7 @@ class BuildRule:
     ## Merge section information just got into rule database
     def EndOfSection(self):
         Database = self.RuleDatabase
-        # if there's specific toochain family, 'COMMON' doesn't make sense any more
+        # if there's specific toolchain family, 'COMMON' doesn't make sense any more
         if len(self._TotalToolChainFamilySet) > 1 and TAB_COMMON in self._TotalToolChainFamilySet:
             self._TotalToolChainFamilySet.remove(TAB_COMMON)
         for Family in self._TotalToolChainFamilySet:
@@ -554,7 +554,7 @@ class BuildRule:
     #   @param  FileExt             The extension of a file
     #   @param  ToolChainFamily     The tool chain family name
     #   @param  BuildVersion        The build version number. TAB_STAR means any rule
-    #                               is applicalbe.
+    #                               is applicable.
     #
     #   @retval FileType        The file type string
     #   @retval FileBuildRule   The object of FileBuildRule
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index dc4cd688f4..53c5b8577d 100644
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -959,7 +959,7 @@ cleanlib:
                     NewFile = self.PlaceMacro(str(F), self.Macros)
                     # In order to use file list macro as dependency
                     if T.GenListFile:
-                        # gnu tools need forward slash path separater, even on Windows
+                        # gnu tools need forward slash path separator, even on Windows
                         self.ListFileMacros[T.ListFileMacro].append(str(F).replace ('\\', '/'))
                         self.FileListMacros[T.FileListMacro].append(NewFile)
                     elif T.GenFileListMacro:
@@ -1003,7 +1003,7 @@ cleanlib:
     ## Find dependencies for one source file
     #
     #  By searching recursively "#include" directive in file, find out all the
-    #  files needed by given source file. The dependecies will be only searched
+    #  files needed by given source file. The dependencies will be only searched
     #  in given search path list.
     #
     #   @param      File            The source file
diff --git a/BaseTools/Source/Python/AutoGen/GenPcdDb.py b/BaseTools/Source/Python/AutoGen/GenPcdDb.py
index cbf7a39dd5..b3f4ccf4f4 100644
--- a/BaseTools/Source/Python/AutoGen/GenPcdDb.py
+++ b/BaseTools/Source/Python/AutoGen/GenPcdDb.py
@@ -342,7 +342,7 @@ class DbComItemList (DbItemList):
         Offset = 0
         if self.ItemSize == 0:
             #
-            # Variable length, need to calculte one by one
+            # Variable length, need to calculate one by one
             # The only variable table is stringtable, it is not Composite item, should not reach here
             #
             assert(False)
@@ -631,7 +631,7 @@ def BuildExDataBase(Dict):
     Dict['STRING_TABLE_DB_VALUE'] = [StringArrayToList(x) for x in Dict['STRING_TABLE_VALUE']]
 
     StringTableValue = Dict['STRING_TABLE_DB_VALUE']
-    # when calcute the offset, should use StringTableLen instead of StringTableValue, as string maxium len may be different with actual len
+    # when calcute the offset, should use StringTableLen instead of StringTableValue, as string maximum len may be different with actual len
     StringTableLen = Dict['STRING_TABLE_LENGTH']
     DbStringTableLen = DbStringItemList(0, RawDataList = StringTableValue, LenList = StringTableLen)
 
@@ -1011,7 +1011,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
         'SKUID_TABLE_EMPTY'             : 'TRUE',
         'DATABASE_EMPTY'                : 'TRUE',
         'EXMAP_TABLE_EMPTY'             : 'TRUE',
-        'PCD_DATABASE_UNINIT_EMPTY'     : '  UINT8  dummy; /* PCD_DATABASE_UNINIT is emptry */',
+        'PCD_DATABASE_UNINIT_EMPTY'     : '  UINT8  dummy; /* PCD_DATABASE_UNINIT is empty */',
         'SYSTEM_SKU_ID'                 : '  SKU_ID             SystemSkuId;',
         'SYSTEM_SKU_ID_VALUE'           : '0U'
     }
diff --git a/BaseTools/Source/Python/AutoGen/InfSectionParser.py b/BaseTools/Source/Python/AutoGen/InfSectionParser.py
index 09e9af3fb4..388b6780df 100644
--- a/BaseTools/Source/Python/AutoGen/InfSectionParser.py
+++ b/BaseTools/Source/Python/AutoGen/InfSectionParser.py
@@ -80,13 +80,13 @@ class InfSectionParser():
                             UserExtensionTianoCore.append({SubSection: SectionDataDict[key]})
         return UserExtensionTianoCore
 
-    # Get depex expresion
+    # Get depex expression
     #
     # @return: a list include some dictionary that key is section and value is a list contain all data.
     def GetDepexExpresionList(self):
-        DepexExpresionList = []
+        DepexExpressionList = []
         if not self._FileSectionDataList:
-            return DepexExpresionList
+            return DepexExpressionList
         for SectionDataDict in self._FileSectionDataList:
             for key in SectionDataDict:
                 if key.lower() == "[depex]" or key.lower().startswith("[depex."):
@@ -105,8 +105,8 @@ class InfSectionParser():
                             SubKey = (SectionList[1], SectionList[2])
                         else:
                             EdkLogger.error("build", AUTOGEN_ERROR, 'Section %s is invalid.' % key)
-                        DepexExpresionList.append({SubKey: SectionDataDict[key]})
-        return DepexExpresionList
+                        DepexExpressionList.append({SubKey: SectionDataDict[key]})
+        return DepexExpressionList
 
 
 
diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py
index d162387cc5..5674adf3b8 100644
--- a/BaseTools/Source/Python/AutoGen/UniClassObject.py
+++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py
@@ -99,12 +99,12 @@ LangConvTable = {'eng':'en', 'fra':'fr', \
 ## GetLanguageCode
 #
 # Check the language code read from .UNI file and convert ISO 639-2 codes to RFC 4646 codes if appropriate
-# ISO 639-2 language codes supported in compatiblity mode
+# ISO 639-2 language codes supported in compatibility mode
 # RFC 4646 language codes supported in native mode
 #
 # @param LangName:   Language codes read from .UNI file
 #
-# @retval LangName:  Valid lanugage code in RFC 4646 format or None
+# @retval LangName:  Valid language code in RFC 4646 format or None
 #
 def GetLanguageCode(LangName, IsCompatibleMode, File):
     length = len(LangName)
diff --git a/BaseTools/Source/Python/Common/BuildToolError.py b/BaseTools/Source/Python/Common/BuildToolError.py
index fc2503ea80..09582b932a 100644
--- a/BaseTools/Source/Python/Common/BuildToolError.py
+++ b/BaseTools/Source/Python/Common/BuildToolError.py
@@ -1,5 +1,5 @@
 ## @file
-# Standardized Error Hanlding infrastructures.
+# Standardized Error Handling infrastructures.
 #
 # Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
 # This program and the accompanying materials
diff --git a/BaseTools/Source/Python/Common/EdkLogger.py b/BaseTools/Source/Python/Common/EdkLogger.py
index af7707482c..77c0d2a28e 100644
--- a/BaseTools/Source/Python/Common/EdkLogger.py
+++ b/BaseTools/Source/Python/Common/EdkLogger.py
@@ -145,7 +145,7 @@ def warn(ToolName, Message, File=None, Line=None, ExtraData=None):
 
     _InfoLogger.log(WARN, LogText)
 
-    # Raise an execption if indicated
+    # Raise an exception if indicated
     if _WarningAsError == True:
         raise FatalError(WARNING_AS_ERROR)
 
@@ -155,7 +155,7 @@ info    = _InfoLogger.info
 ## Log ERROR message
 #
 #   Once an error messages is logged, the tool's execution will be broken by raising
-# an execption. If you don't want to break the execution later, you can give
+# an exception. If you don't want to break the execution later, you can give
 # "RaiseError" with "False" value.
 #
 #   @param  ToolName    The name of the tool. If not given, the name of caller
@@ -165,7 +165,7 @@ info    = _InfoLogger.info
 #   @param  File        The name of file which caused the error.
 #   @param  Line        The line number in the "File" which caused the warning.
 #   @param  ExtraData   More information associated with "Message"
-#   @param  RaiseError  Raise an exception to break the tool's executuion if
+#   @param  RaiseError  Raise an exception to break the tool's execution if
 #                       it's True. This is the default behavior.
 #
 def error(ToolName, ErrorCode, Message=None, File=None, Line=None, ExtraData=None, RaiseError=IsRaiseError):
diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py
index 6b3c4f7937..565a5ad40b 100644
--- a/BaseTools/Source/Python/Common/Misc.py
+++ b/BaseTools/Source/Python/Common/Misc.py
@@ -775,10 +775,10 @@ class Progressor:
 
     ## Constructor
     #
-    #   @param      OpenMessage     The string printed before progress charaters
-    #   @param      CloseMessage    The string printed after progress charaters
-    #   @param      ProgressChar    The charater used to indicate the progress
-    #   @param      Interval        The interval in seconds between two progress charaters
+    #   @param      OpenMessage     The string printed before progress characters
+    #   @param      CloseMessage    The string printed after progress characters
+    #   @param      ProgressChar    The character used to indicate the progress
+    #   @param      Interval        The interval in seconds between two progress characters
     #
     def __init__(self, OpenMessage="", CloseMessage="", ProgressChar='.', Interval=1.0):
         self.PromptMessage = OpenMessage
@@ -788,9 +788,9 @@ class Progressor:
         if Progressor._StopFlag is None:
             Progressor._StopFlag = threading.Event()
 
-    ## Start to print progress charater
+    ## Start to print progress character
     #
-    #   @param      OpenMessage     The string printed before progress charaters
+    #   @param      OpenMessage     The string printed before progress characters
     #
     def Start(self, OpenMessage=None):
         if OpenMessage is not None:
@@ -801,9 +801,9 @@ class Progressor:
             Progressor._ProgressThread.setDaemon(False)
             Progressor._ProgressThread.start()
 
-    ## Stop printing progress charater
+    ## Stop printing progress character
     #
-    #   @param      CloseMessage    The string printed after progress charaters
+    #   @param      CloseMessage    The string printed after progress characters
     #
     def Stop(self, CloseMessage=None):
         OriginalCodaMessage = self.CodaMessage
@@ -1422,7 +1422,7 @@ class PathClass(object):
 
     ## Override __cmp__ function
     #
-    # Customize the comparsion operation of two PathClass
+    # Customize the comparison operation of two PathClass
     #
     # @retval 0     The two PathClass are different
     # @retval -1    The first PathClass is less than the second PathClass
@@ -1517,7 +1517,7 @@ class PathClass(object):
             self.Path = os.path.join(RealRoot, RealFile)
         return ErrorCode, ErrorInfo
 
-## Parse PE image to get the required PE informaion.
+## Parse PE image to get the required PE information.
 #
 class PeImageClass():
     ## Constructor
diff --git a/BaseTools/Source/Python/Common/MultipleWorkspace.py b/BaseTools/Source/Python/Common/MultipleWorkspace.py
index 81594e22cd..8ad90aefaf 100644
--- a/BaseTools/Source/Python/Common/MultipleWorkspace.py
+++ b/BaseTools/Source/Python/Common/MultipleWorkspace.py
@@ -24,7 +24,7 @@ from Common.DataType import TAB_WORKSPACE
 # @param class:
 #
 # @var WORKSPACE:      defined the current WORKSPACE
-# @var PACKAGES_PATH:  defined the other WORKSAPCE, if current WORKSPACE is invalid, search valid WORKSPACE from PACKAGES_PATH
+# @var PACKAGES_PATH:  defined the other WORKSPACE, if current WORKSPACE is invalid, search valid WORKSPACE from PACKAGES_PATH
 #
 class MultipleWorkspace(object):
     WORKSPACE = ''
@@ -146,7 +146,7 @@ class MultipleWorkspace(object):
 
     ## getPkgPath()
     #
-    #   get all package pathes.
+    #   get all package paths.
     #
     #   @param  cls       The class pointer
     #
diff --git a/BaseTools/Source/Python/Common/Parsing.py b/BaseTools/Source/Python/Common/Parsing.py
index 889251b699..d858501af6 100644
--- a/BaseTools/Source/Python/Common/Parsing.py
+++ b/BaseTools/Source/Python/Common/Parsing.py
@@ -36,7 +36,7 @@ def ParseDefineMacro2(Table, RecordSets, GlobalMacro):
         Macros[Record[0]] = Record[1]
 
     #
-    # Overrided by Global Macros
+    # Overridden by Global Macros
     #
     Macros.update(GlobalMacro)
 
@@ -76,7 +76,7 @@ def ParseDefineMacro(Table, GlobalMacro):
         Macros[Record[0]] = Record[1]
 
     #
-    # Overrided by Global Macros
+    # Overridden by Global Macros
     #
     Macros.update(GlobalMacro)
 
@@ -830,7 +830,7 @@ def InsertSectionItems(Model, CurrentSection, SectionItemList, ArchList, ThirdLi
 # @param Table:            The Table to be inserted
 # @param FileID:           The ID of belonging file
 # @param Filename:         The name of belonging file
-# @param CurrentSection:   The name of currect section
+# @param CurrentSection:   The name of current section
 # @param SectionItemList:  A list of items of the section
 # @param ArchList:         A list of arches
 # @param ThirdList:        A list of third parameters, ModuleType for LibraryClass and SkuId for Dynamic Pcds
diff --git a/BaseTools/Source/Python/Common/RangeExpression.py b/BaseTools/Source/Python/Common/RangeExpression.py
index 40958451d2..1c52e83792 100644
--- a/BaseTools/Source/Python/Common/RangeExpression.py
+++ b/BaseTools/Source/Python/Common/RangeExpression.py
@@ -290,7 +290,7 @@ class RangeExpression(BaseExpression):
         return rangeid
 
 
-    def NegtiveRange(self, Oprand1):
+    def NegativeRange(self, Oprand1):
         rangeContainer1 = self.operanddict[Oprand1]
 
 
@@ -332,7 +332,7 @@ class RangeExpression(BaseExpression):
         if Operator in ["!", "NOT", "not"]:
             if not gGuidPattern.match(Oprand1.strip()):
                 raise BadExpression(ERR_STRING_EXPR % Operator)
-            return self.NegtiveRange(Oprand1)
+            return self.NegativeRange(Oprand1)
         else:
             if Operator in ["==", ">=", "<=", ">", "<", '^']:
                 return self.EvalRange(Operator, Oprand1)
diff --git a/BaseTools/Source/Python/Common/StringUtils.py b/BaseTools/Source/Python/Common/StringUtils.py
index c6227271a4..a2e8f0f9e7 100644
--- a/BaseTools/Source/Python/Common/StringUtils.py
+++ b/BaseTools/Source/Python/Common/StringUtils.py
@@ -32,7 +32,7 @@ gHumanReadableVerPatt = re.compile(r'([1-9][0-9]*|0)\.[0-9]{1,2}$')
 
 ## GetSplitValueList
 #
-# Get a value list from a string with multiple values splited with SplitTag
+# Get a value list from a string with multiple values split with SplitTag
 # The default SplitTag is DataType.TAB_VALUE_SPLIT
 # 'AAA|BBB|CCC' -> ['AAA', 'BBB', 'CCC']
 #
@@ -88,7 +88,7 @@ def GetSplitValueList(String, SplitTag=DataType.TAB_VALUE_SPLIT, MaxSplit= -1):
 
 ## GetSplitList
 #
-# Get a value list from a string with multiple values splited with SplitString
+# Get a value list from a string with multiple values split with SplitString
 # The default SplitTag is DataType.TAB_VALUE_SPLIT
 # 'AAA|BBB|CCC' -> ['AAA', 'BBB', 'CCC']
 #
@@ -123,7 +123,7 @@ def MergeArches(Dict, Key, Arch):
 # Return False if invalid format
 #
 # @param String:   String with DEFINE statement
-# @param Arch:     Supportted Arch
+# @param Arch:     Supported Arch
 # @param Defines:  DEFINE statement to be parsed
 #
 # @retval 0   DEFINE statement found, and valid
@@ -149,7 +149,7 @@ def GenDefines(String, Arch, Defines):
 #
 # @param String:        String with INCLUDE statement
 # @param IncludeFiles:  INCLUDE statement to be parsed
-# @param Arch:          Supportted Arch
+# @param Arch:          Supported Arch
 #
 # @retval True
 # @retval False
@@ -297,7 +297,7 @@ def ReplaceMacro(String, MacroDefinitions={}, SelfReplacement=False, RaiseError=
 ## NormPath
 #
 # Create a normal path
-# And replace DFEINE in the path
+# And replace DEFINE in the path
 #
 # @param Path:     The input value for Path to be converted
 # @param Defines:  A set for DEFINE statement
@@ -730,9 +730,9 @@ def WorkspaceFile(WorkspaceDir, Filename):
 
 ## Split string
 #
-# Revmove '"' which startswith and endswith string
+# Remove '"' which startswith and endswith string
 #
-# @param String:  The string need to be splited
+# @param String:  The string need to be split
 #
 # @retval String: The string after removed '""'
 #
diff --git a/BaseTools/Source/Python/CommonDataClass/CommonClass.py b/BaseTools/Source/Python/CommonDataClass/CommonClass.py
index 336bb11671..33f306c842 100644
--- a/BaseTools/Source/Python/CommonDataClass/CommonClass.py
+++ b/BaseTools/Source/Python/CommonDataClass/CommonClass.py
@@ -66,7 +66,7 @@ class SkuInfoClass(object):
     ## Convert the class to a string
     #
     #  Convert each member of the class to string
-    #  Organize to a signle line format string
+    #  Organize to a single line format string
     #
     #  @retval Rtn Formatted String
     #
diff --git a/BaseTools/Source/Python/CommonDataClass/DataClass.py b/BaseTools/Source/Python/CommonDataClass/DataClass.py
index 31ed46c7ec..2d93f79b09 100644
--- a/BaseTools/Source/Python/CommonDataClass/DataClass.py
+++ b/BaseTools/Source/Python/CommonDataClass/DataClass.py
@@ -194,7 +194,7 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 # @param Header:           Header of a Function
 # @param Modifier:         Modifier of a Function
 # @param Name:             Name of a Function
-# @param ReturnStatement:  ReturnStatement of a Funciont
+# @param ReturnStatement:  ReturnStatement of a Function
 # @param StartLine:        StartLine of a Function
 # @param StartColumn:      StartColumn of a Function
 # @param EndLine:          EndLine of a Function
@@ -209,7 +209,7 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 # @var Header:             Header of a Function
 # @var Modifier:           Modifier of a Function
 # @var Name:               Name of a Function
-# @var ReturnStatement:    ReturnStatement of a Funciont
+# @var ReturnStatement:    ReturnStatement of a Function
 # @var StartLine:          StartLine of a Function
 # @var StartColumn:        StartColumn of a Function
 # @var EndLine:            EndLine of a Function
diff --git a/BaseTools/Source/Python/Ecc/C.g b/BaseTools/Source/Python/Ecc/C.g
index e344088f36..4affd61ecc 100644
--- a/BaseTools/Source/Python/Ecc/C.g
+++ b/BaseTools/Source/Python/Ecc/C.g
@@ -23,7 +23,7 @@ options {
 ## @file
 # The file defines the Lexer for C source files.
 #
-# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
+# THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
 # This file is generated by running:
 # java org.antlr.Tool C.g
 #
@@ -44,7 +44,7 @@ options {
 ## @file
 # The file defines the parser for C source files.
 #
-# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
+# THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
 # This file is generated by running:
 # java org.antlr.Tool C.g
 #
@@ -653,11 +653,11 @@ UnicodeEscape
 WS  :  (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;}
     ;
 
-// ingore '\' of line concatenation
+// ignore '\' of line concatenation
 BS  : ('\\') {$channel=HIDDEN;}
     ;
     
-// ingore function modifiers
+// ignore function modifiers
 //FUNC_MODIFIERS  : 'EFIAPI' {$channel=HIDDEN;}
 //    ;
     	
diff --git a/BaseTools/Source/Python/Ecc/CParser3/CLexer.py b/BaseTools/Source/Python/Ecc/CParser3/CLexer.py
index b9e57c1b55..17c1af6113 100644
--- a/BaseTools/Source/Python/Ecc/CParser3/CLexer.py
+++ b/BaseTools/Source/Python/Ecc/CParser3/CLexer.py
@@ -6,7 +6,7 @@ from antlr3.compat import set, frozenset
 ## @file
 # The file defines the Lexer for C source files.
 #
-# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
+# THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
 # This file is generated by running:
 # java org.antlr.Tool C.g
 #
diff --git a/BaseTools/Source/Python/Ecc/CParser3/CParser.py b/BaseTools/Source/Python/Ecc/CParser3/CParser.py
index a3ab8e7bf4..c63b0a556f 100644
--- a/BaseTools/Source/Python/Ecc/CParser3/CParser.py
+++ b/BaseTools/Source/Python/Ecc/CParser3/CParser.py
@@ -8,7 +8,7 @@ from antlr3.compat import set, frozenset
 ## @file
 # The file defines the parser for C source files.
 #
-# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
+# THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
 # This file is generated by running:
 # java org.antlr.Tool C.g
 #
diff --git a/BaseTools/Source/Python/Ecc/Check.py b/BaseTools/Source/Python/Ecc/Check.py
index a6c62359d0..6e5bcee846 100644
--- a/BaseTools/Source/Python/Ecc/Check.py
+++ b/BaseTools/Source/Python/Ecc/Check.py
@@ -1403,7 +1403,7 @@ class Check(object):
     # Check whether only capital letters are used for #define declarations
     def NamingConventionCheckDefineStatement(self, FileTable):
         if EccGlobalData.gConfig.NamingConventionCheckDefineStatement == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of #define statement ...")
+            EdkLogger.quiet("Checking naming convention of #define statement ...")
 
             SqlCommand = """select ID, Value from %s where Model = %s""" % (FileTable, MODEL_IDENTIFIER_MACRO_DEFINE)
             RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
@@ -1418,7 +1418,7 @@ class Check(object):
     # Check whether only capital letters are used for typedef declarations
     def NamingConventionCheckTypedefStatement(self, FileTable):
         if EccGlobalData.gConfig.NamingConventionCheckTypedefStatement == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of #typedef statement ...")
+            EdkLogger.quiet("Checking naming convention of #typedef statement ...")
 
             SqlCommand = """select ID, Name from %s where Model = %s""" % (FileTable, MODEL_IDENTIFIER_TYPEDEF)
             RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
@@ -1438,7 +1438,7 @@ class Check(object):
     # Check whether the #ifndef at the start of an include file uses both prefix and postfix underscore characters, '_'.
     def NamingConventionCheckIfndefStatement(self, FileTable):
         if EccGlobalData.gConfig.NamingConventionCheckIfndefStatement == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of #ifndef statement ...")
+            EdkLogger.quiet("Checking naming convention of #ifndef statement ...")
 
             SqlCommand = """select ID, Value from %s where Model = %s""" % (FileTable, MODEL_IDENTIFIER_MACRO_IFNDEF)
             RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
@@ -1455,7 +1455,7 @@ class Check(object):
     # Check whether the path name followed the rule
     def NamingConventionCheckPathName(self):
         if EccGlobalData.gConfig.NamingConventionCheckPathName == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of file path name ...")
+            EdkLogger.quiet("Checking naming convention of file path name ...")
             Pattern = re.compile(r'^[A-Z]+\S*[a-z]\S*$')
             SqlCommand = """select ID, Name from File"""
             RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
@@ -1472,7 +1472,7 @@ class Check(object):
     # Check whether the variable name followed the rule
     def NamingConventionCheckVariableName(self, FileTable):
         if EccGlobalData.gConfig.NamingConventionCheckVariableName == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of variable name ...")
+            EdkLogger.quiet("Checking naming convention of variable name ...")
             Pattern = re.compile(r'^[A-Zgm]+\S*[a-z]\S*$')
 
             SqlCommand = """select ID, Name from %s where Model = %s""" % (FileTable, MODEL_IDENTIFIER_VARIABLE)
@@ -1492,7 +1492,7 @@ class Check(object):
     # Check whether the function name followed the rule
     def NamingConventionCheckFunctionName(self):
         if EccGlobalData.gConfig.NamingConventionCheckFunctionName == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of function name ...")
+            EdkLogger.quiet("Checking naming convention of function name ...")
             Pattern = re.compile(r'^[A-Z]+\S*[a-z]\S*$')
             SqlCommand = """select ID, Name from Function"""
             RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
@@ -1504,7 +1504,7 @@ class Check(object):
     # Check whether NO use short variable name with single character
     def NamingConventionCheckSingleCharacterVariable(self, FileTable):
         if EccGlobalData.gConfig.NamingConventionCheckSingleCharacterVariable == '1' or EccGlobalData.gConfig.NamingConventionCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
-            EdkLogger.quiet("Checking naming covention of single character variable name ...")
+            EdkLogger.quiet("Checking naming convention of single character variable name ...")
 
             SqlCommand = """select ID, Name from %s where Model = %s""" % (FileTable, MODEL_IDENTIFIER_VARIABLE)
             RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
diff --git a/BaseTools/Source/Python/Ecc/Database.py b/BaseTools/Source/Python/Ecc/Database.py
index 9d4acac7b7..2a6b1198d8 100644
--- a/BaseTools/Source/Python/Ecc/Database.py
+++ b/BaseTools/Source/Python/Ecc/Database.py
@@ -39,7 +39,7 @@ DATABASE_PATH = "Ecc.db"
 
 ## Database
 #
-# This class defined the ECC databse
+# This class defined the ECC database
 # During the phase of initialization, the database will create all tables and
 # insert all records of table DataModel
 #
@@ -83,7 +83,7 @@ class Database(object):
         self.Conn = sqlite3.connect(self.DbPath, isolation_level = 'DEFERRED')
         self.Conn.execute("PRAGMA page_size=4096")
         self.Conn.execute("PRAGMA synchronous=OFF")
-        # to avoid non-ascii charater conversion error
+        # to avoid non-ascii character conversion error
         self.Conn.text_factory = str
         self.Cur = self.Conn.cursor()
 
@@ -214,7 +214,7 @@ class Database(object):
 
     ## UpdateIdentifierBelongsToFunction
     #
-    # Update the field "BelongsToFunction" for each Indentifier
+    # Update the field "BelongsToFunction" for each Identifier
     #
     #
     def UpdateIdentifierBelongsToFunction_disabled(self):
@@ -267,7 +267,7 @@ class Database(object):
 
     ## UpdateIdentifierBelongsToFunction
     #
-    # Update the field "BelongsToFunction" for each Indentifier
+    # Update the field "BelongsToFunction" for each Identifier
     #
     #
     def UpdateIdentifierBelongsToFunction(self):
diff --git a/BaseTools/Source/Python/Ecc/EccMain.py b/BaseTools/Source/Python/Ecc/EccMain.py
index edb6c6d7d4..f06183d646 100644
--- a/BaseTools/Source/Python/Ecc/EccMain.py
+++ b/BaseTools/Source/Python/Ecc/EccMain.py
@@ -209,7 +209,7 @@ class Ecc(object):
                         Op.write("%s\r" % Filename)
                         #Dsc(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)
                         self.MetaFile = DscParser(PathClass(Filename, Root), MODEL_FILE_DSC, MetaFileStorage(EccGlobalData.gDb.TblDsc.Cur, Filename, MODEL_FILE_DSC, True))
-                        # alwasy do post-process, in case of macros change
+                        # always do post-process, in case of macros change
                         self.MetaFile.DoPostProcess()
                         self.MetaFile.Start()
                         self.MetaFile._PostProcess()
@@ -307,7 +307,7 @@ class Ecc(object):
         if Options.Workspace:
             os.environ["WORKSPACE"] = Options.Workspace
 
-        # Check workspace envirnoment
+        # Check workspace environment
         if "WORKSPACE" not in os.environ:
             EdkLogger.error("ECC", BuildToolError.ATTRIBUTE_NOT_AVAILABLE, "Environment variable not found",
                             ExtraData="WORKSPACE")
diff --git a/BaseTools/Source/Python/Ecc/EccToolError.py b/BaseTools/Source/Python/Ecc/EccToolError.py
index ae0a31af8a..3f1a44c1f7 100644
--- a/BaseTools/Source/Python/Ecc/EccToolError.py
+++ b/BaseTools/Source/Python/Ecc/EccToolError.py
@@ -1,5 +1,5 @@
 ## @file
-# Standardized Error Hanlding infrastructures.
+# Standardized Error Handling infrastructures.
 #
 # Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
 # This program and the accompanying materials
@@ -152,7 +152,7 @@ gEccErrorMessage = {
     ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_2 : "The #ifndef must be the first line of code following the file header comment",
     ERROR_INCLUDE_FILE_CHECK_IFNDEF_STATEMENT_3 : "The #endif must appear on the last line in the file",
     ERROR_INCLUDE_FILE_CHECK_DATA : "Include files should contain only public or only private data and cannot contain code or define data variables",
-    ERROR_INCLUDE_FILE_CHECK_NAME : "No permission for the inlcude file with same names",
+    ERROR_INCLUDE_FILE_CHECK_NAME : "No permission for the include file with same names",
 
     ERROR_DECLARATION_DATA_TYPE_CHECK_ALL : "",
     ERROR_DECLARATION_DATA_TYPE_CHECK_NO_USE_C_TYPE : "There should be no use of int, unsigned, char, void, static, long in any .c, .h or .asl files",
diff --git a/BaseTools/Source/Python/Ecc/MetaDataParser.py b/BaseTools/Source/Python/Ecc/MetaDataParser.py
index 4594716886..aab2e92ea7 100644
--- a/BaseTools/Source/Python/Ecc/MetaDataParser.py
+++ b/BaseTools/Source/Python/Ecc/MetaDataParser.py
@@ -18,7 +18,7 @@ from Ecc.EccToolError import *
 from Common.MultipleWorkspace import MultipleWorkspace as mws
 from Ecc import EccGlobalData
 import re
-## Get the inlcude path list for a source file
+## Get the include path list for a source file
 #
 # 1. Find the source file belongs to which inf file
 # 2. Find the inf's package
diff --git a/BaseTools/Source/Python/Ecc/c.py b/BaseTools/Source/Python/Ecc/c.py
index 0c377c6c4a..7b645ff053 100644
--- a/BaseTools/Source/Python/Ecc/c.py
+++ b/BaseTools/Source/Python/Ecc/c.py
@@ -733,7 +733,7 @@ def SplitPredicateByOp(Str, Op, IsFuncCalling=False):
 
             while not LBFound and (Str[Index].isalnum() or Str[Index] == '_'):
                 Index += 1
-            # maybe type-cast at the begining, skip it.
+            # maybe type-cast at the beginning, skip it.
             RemainingStr = Str[Index:].lstrip()
             if RemainingStr.startswith(')') and not LBFound:
                 Index += 1
@@ -834,7 +834,7 @@ def GetDataTypeFromModifier(ModifierStr):
     for M in MList:
         if M in EccGlobalData.gConfig.ModifierSet:
             continue
-        # remove array sufix
+        # remove array suffix
         if M.startswith('[') or M.endswith(']'):
             continue
         ReturnType += M + ' '
@@ -1019,7 +1019,7 @@ def GetFinalTypeValue(Type, FieldName, TypedefDict, SUDict):
                 Type = GetDataTypeFromModifier(Field[0:Index])
                 return Type.strip()
             else:
-            # For the condition that the field in struct is an array with [] sufixes...
+            # For the condition that the field in struct is an array with [] suffixes...
                 if not Field[Index + len(FieldName)].isalnum():
                     Type = GetDataTypeFromModifier(Field[0:Index])
                     return Type.strip()
@@ -1629,7 +1629,7 @@ def CheckMemberVariableFormat(Name, Value, FileTable, TdId, ModelId):
         Field = Field.strip()
         if Field == '':
             continue
-        # For the condition that the field in struct is an array with [] sufixes...
+        # For the condition that the field in struct is an array with [] suffixes...
         if Field[-1] == ']':
             LBPos = Field.find('[')
             Field = Field[0:LBPos]
diff --git a/BaseTools/Source/Python/Eot/CParser3/CLexer.py b/BaseTools/Source/Python/Eot/CParser3/CLexer.py
index b9e57c1b55..17c1af6113 100644
--- a/BaseTools/Source/Python/Eot/CParser3/CLexer.py
+++ b/BaseTools/Source/Python/Eot/CParser3/CLexer.py
@@ -6,7 +6,7 @@ from antlr3.compat import set, frozenset
 ## @file
 # The file defines the Lexer for C source files.
 #
-# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
+# THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
 # This file is generated by running:
 # java org.antlr.Tool C.g
 #
diff --git a/BaseTools/Source/Python/Eot/CParser3/CParser.py b/BaseTools/Source/Python/Eot/CParser3/CParser.py
index 0b74b53ae7..973e7a82b7 100644
--- a/BaseTools/Source/Python/Eot/CParser3/CParser.py
+++ b/BaseTools/Source/Python/Eot/CParser3/CParser.py
@@ -8,7 +8,7 @@ from antlr3.compat import set, frozenset
 ## @file
 # The file defines the parser for C source files.
 #
-# THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.
+# THIS FILE IS AUTO-GENERATED. PLEASE DO NOT MODIFY THIS FILE.
 # This file is generated by running:
 # java org.antlr.Tool C.g
 #
diff --git a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py
index b1e77a690a..ec1faa665e 100644
--- a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py
+++ b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py
@@ -390,10 +390,10 @@ class CodeFragmentCollector:
         print('################# ' + self.FileName + '#####################')
 
         print('/****************************************/')
-        print('/*************** ASSIGNMENTS ***************/')
+        print('/************** ASSIGNMENTS *************/')
         print('/****************************************/')
-        for asign in FileProfile.AssignmentExpressionList:
-            print(str(asign.StartPos) + asign.Name + asign.Operator + asign.Value)
+        for assign in FileProfile.AssignmentExpressionList:
+            print(str(assign.StartPos) + assign.Name + assign.Operator + assign.Value)
 
         print('/****************************************/')
         print('/********* PREPROCESS DIRECTIVES ********/')
diff --git a/BaseTools/Source/Python/Eot/Database.py b/BaseTools/Source/Python/Eot/Database.py
index 65bac9c127..f6191161f2 100644
--- a/BaseTools/Source/Python/Eot/Database.py
+++ b/BaseTools/Source/Python/Eot/Database.py
@@ -38,7 +38,7 @@ DATABASE_PATH = "Eot.db"
 
 ## Database class
 #
-# This class defined the EOT databse
+# This class defined the EOT database
 # During the phase of initialization, the database will create all tables and
 # insert all records of table DataModel
 #
@@ -83,7 +83,7 @@ class Database(object):
         self.Conn = sqlite3.connect(self.DbPath, isolation_level = 'DEFERRED')
         self.Conn.execute("PRAGMA page_size=8192")
         self.Conn.execute("PRAGMA synchronous=OFF")
-        # to avoid non-ascii charater conversion error
+        # to avoid non-ascii character conversion error
         self.Conn.text_factory = str
         self.Cur = self.Conn.cursor()
 
@@ -198,7 +198,7 @@ class Database(object):
 
     ## UpdateIdentifierBelongsToFunction() method
     #
-    #  Update the field "BelongsToFunction" for each Indentifier
+    #  Update the field "BelongsToFunction" for each Identifier
     #
     #  @param self: The object pointer
     #
diff --git a/BaseTools/Source/Python/Eot/EotGlobalData.py b/BaseTools/Source/Python/Eot/EotGlobalData.py
index cb6a940ab8..729b9f7c77 100644
--- a/BaseTools/Source/Python/Eot/EotGlobalData.py
+++ b/BaseTools/Source/Python/Eot/EotGlobalData.py
@@ -92,7 +92,7 @@ gConsumedProtocolLibrary['EfiLocateProtocolHandleBuffers'] = 0
 gConsumedProtocolLibrary['EfiLocateProtocolInterface'] = 0
 gConsumedProtocolLibrary['EfiHandleProtocol'] = 1
 
-# Dict for callback PROTOCOL function callling
+# Dict for callback PROTOCOL function calling
 gCallbackProtocolLibrary = OrderedDict()
 gCallbackProtocolLibrary['EfiRegisterProtocolCallback'] = 2
 
diff --git a/BaseTools/Source/Python/Eot/EotMain.py b/BaseTools/Source/Python/Eot/EotMain.py
index fd4bee6f90..e4359c5015 100644
--- a/BaseTools/Source/Python/Eot/EotMain.py
+++ b/BaseTools/Source/Python/Eot/EotMain.py
@@ -1514,7 +1514,7 @@ class Eot(object):
                             % (Identifier, '.NotifyPpi', '->NotifyPpi', MODEL_IDENTIFIER_FUNCTION_CALLING)
             SearchPpi(SqlCommand, Identifier, SourceFileID, SourceFileFullPath, ItemMode)
 
-            # Find Procotols
+            # Find Protocols
             ItemMode = 'Produced'
             SqlCommand = """select Value, Name, BelongsToFile, StartLine, EndLine from %s
                             where (Name like '%%%s%%' or Name like '%%%s%%' or Name like '%%%s%%' or Name like '%%%s%%') and Model = %s""" \
diff --git a/BaseTools/Source/Python/Eot/InfParserLite.py b/BaseTools/Source/Python/Eot/InfParserLite.py
index 0cfe0398f0..cec083330b 100644
--- a/BaseTools/Source/Python/Eot/InfParserLite.py
+++ b/BaseTools/Source/Python/Eot/InfParserLite.py
@@ -41,8 +41,8 @@ class EdkInfParser(object):
     #  @param  Database: Eot database
     #  @param  SourceFileList: A list for all source file belonging this INF file
     #  @param  SourceOverridePath: Override path for source file
-    #  @param  Edk_Source: Envirnoment variable EDK_SOURCE
-    #  @param  Efi_Source: Envirnoment variable EFI_SOURCE
+    #  @param  Edk_Source: Environment variable EDK_SOURCE
+    #  @param  Efi_Source: Environment variable EFI_SOURCE
     #
     def __init__(self, Filename = None, Database = None, SourceFileList = None, SourceOverridePath = None, Edk_Source = None, Efi_Source = None):
         self.Identification = Identification()
diff --git a/BaseTools/Source/Python/Eot/Parser.py b/BaseTools/Source/Python/Eot/Parser.py
index 673088d41d..6b47409c9d 100644
--- a/BaseTools/Source/Python/Eot/Parser.py
+++ b/BaseTools/Source/Python/Eot/Parser.py
@@ -62,7 +62,7 @@ def DeCompress(Method, Input):
 #  @param  MergeMultipleLines: Switch for if merge multiple lines
 #  @param  LineNo: Default line no
 #
-#  @return Lines: The file contents after remvoing comments
+#  @return Lines: The file contents after removing comments
 #
 def PreProcess(Filename, MergeMultipleLines = True, LineNo = -1):
     Lines = []
@@ -770,7 +770,7 @@ def GetParameterName(Parameter):
 #  @param Table: Table to be searched
 #  @param Key: The keyword
 #
-#  @return Value: The value of the the keyword
+#  @return Value: The value of the keyword
 #
 def FindKeyValue(Db, Table, Key):
     SqlCommand = """select Value from %s where Name = '%s' and (Model = %s or Model = %s)""" % (Table, Key, MODEL_IDENTIFIER_VARIABLE, MODEL_IDENTIFIER_ASSIGNMENT_EXPRESSION)
diff --git a/BaseTools/Source/Python/Eot/Report.py b/BaseTools/Source/Python/Eot/Report.py
index 01ad86ad3e..3e71c12393 100644
--- a/BaseTools/Source/Python/Eot/Report.py
+++ b/BaseTools/Source/Python/Eot/Report.py
@@ -332,7 +332,7 @@ class Report(object):
                 Content = """            </table></td>
           </tr>"""
                 self.WriteLn(Content)
-            #End of Consumed Ppi/Portocol
+            #End of Consumed Ppi/Protocol
 
             # Find Produced Ppi/Protocol
             SqlCommand = """select ModuleName, ItemType, GuidName, GuidValue, GuidMacro from Report
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py
index 63edf816ec..56294ed0d9 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -716,13 +716,13 @@ class FdfParser:
                     EndPos = CurLine.find(')', StartPos+2)
                     while StartPos != -1 and EndPos != -1 and self._Token not in {TAB_IF_DEF, TAB_IF_N_DEF, TAB_IF, TAB_ELSE_IF}:
                         MacroName = CurLine[StartPos+2: EndPos]
-                        MacorValue = self._GetMacroValue(MacroName)
-                        if MacorValue is not None:
-                            CurLine = CurLine.replace('$(' + MacroName + ')', MacorValue, 1)
-                            if MacorValue.find('$(') != -1:
+                        MacroValue = self._GetMacroValue(MacroName)
+                        if MacroValue is not None:
+                            CurLine = CurLine.replace('$(' + MacroName + ')', MacroValue, 1)
+                            if MacroValue.find('$(') != -1:
                                 PreIndex = StartPos
                             else:
-                                PreIndex = StartPos + len(MacorValue)
+                                PreIndex = StartPos + len(MacroValue)
                         else:
                             PreIndex = EndPos + 1
                         StartPos = CurLine.find('$(', PreIndex)
@@ -1037,7 +1037,7 @@ class FdfParser:
 
     ## _GetNextToken() method
     #
-    #   Get next token unit before a seperator
+    #   Get next token unit before a separator
     #   If found, the string value is put into self._Token
     #
     #   @param  self        The object pointer
@@ -1054,12 +1054,12 @@ class FdfParser:
         StartLine = self.CurrentLineNumber
         while StartLine == self.CurrentLineNumber:
             TempChar = self._CurrentChar()
-            # Try to find the end char that is not a space and not in seperator tuple.
+            # Try to find the end char that is not a space and not in separator tuple.
             # That is, when we got a space or any char in the tuple, we got the end of token.
             if not str(TempChar).isspace() and TempChar not in SEPARATORS:
                 self._GetOneChar()
-            # if we happen to meet a seperator as the first char, we must proceed to get it.
-            # That is, we get a token that is a seperator char. nomally it is the boundary of other tokens.
+            # if we happen to meet a separator as the first char, we must proceed to get it.
+            # That is, we get a token that is a separator char. normally it is the boundary of other tokens.
             elif StartPos == self.CurrentOffsetWithinLine and TempChar in SEPARATORS:
                 self._GetOneChar()
                 break
@@ -1081,7 +1081,7 @@ class FdfParser:
 
     ## _GetNextGuid() method
     #
-    #   Get next token unit before a seperator
+    #   Get next token unit before a separator
     #   If found, the GUID string is put into self._Token
     #
     #   @param  self        The object pointer
@@ -1133,13 +1133,13 @@ class FdfParser:
         while CurrentLine == self.CurrentLineNumber:
 
             TempChar = self._CurrentChar()
-            # Try to find the end char that is not a space and not in seperator tuple.
+            # Try to find the end char that is not a space and not in separator tuple.
             # That is, when we got a space or any char in the tuple, we got the end of token.
             if not str(TempChar).isspace() and not TempChar in SEPARATORS:
                 if not self._UndoOneChar():
                     return
-            # if we happen to meet a seperator as the first char, we must proceed to get it.
-            # That is, we get a token that is a seperator char. nomally it is the boundary of other tokens.
+            # if we happen to meet a separator as the first char, we must proceed to get it.
+            # That is, we get a token that is a separator char. normally it is the boundary of other tokens.
             elif StartPos == self.CurrentOffsetWithinLine and TempChar in SEPARATORS:
                 return
             else:
@@ -1149,7 +1149,7 @@ class FdfParser:
 
     ## _GetNextHexNumber() method
     #
-    #   Get next HEX data before a seperator
+    #   Get next HEX data before a separator
     #   If found, the HEX data is put into self._Token
     #
     #   @param  self        The object pointer
@@ -1167,7 +1167,7 @@ class FdfParser:
 
     ## _GetNextDecimalNumber() method
     #
-    #   Get next decimal data before a seperator
+    #   Get next decimal data before a separator
     #   If found, the decimal data is put into self._Token
     #
     #   @param  self        The object pointer
diff --git a/BaseTools/Source/Python/GenFds/FfsInfStatement.py b/BaseTools/Source/Python/GenFds/FfsInfStatement.py
index 6dcb57deed..84506ed70e 100644
--- a/BaseTools/Source/Python/GenFds/FfsInfStatement.py
+++ b/BaseTools/Source/Python/GenFds/FfsInfStatement.py
@@ -190,7 +190,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
 
             Inf = GenFdsGlobalVariable.WorkSpace.BuildObject[PathClassObj, self.CurrentArch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]
             #
-            # Set Ffs BaseName, MdouleGuid, ModuleType, Version, OutputPath
+            # Set Ffs BaseName, ModuleGuid, ModuleType, Version, OutputPath
             #
             self.BaseName = Inf.BaseName
             self.ModuleGuid = Inf.Guid
@@ -352,7 +352,7 @@ class FfsInfStatement(FfsInfStatementClassObject):
         GenFdsGlobalVariable.VerboseLogger("InfFileName :%s" % self.InfFileName)
 
         #
-        # Set OutputPath = ${WorkSpace}\Build\Fv\Ffs\${ModuleGuid}+ ${MdouleName}\
+        # Set OutputPath = ${WorkSpace}\Build\Fv\Ffs\${ModuleGuid}+ ${ModuleName}\
         #
 
         self.OutputPath = os.path.join(GenFdsGlobalVariable.FfsDir, \
diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py
index 2ae991128a..06d853b607 100644
--- a/BaseTools/Source/Python/GenFds/Fv.py
+++ b/BaseTools/Source/Python/GenFds/Fv.py
@@ -262,7 +262,7 @@ class FV (object):
 
     ## _InitializeInf()
     #
-    #   Initilize the inf file to create FV
+    #   Initialize the inf file to create FV
     #
     #   @param  self        The object pointer
     #   @param  BaseAddress base address of FV
diff --git a/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py b/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py
index 6cea885853..37c7e91e83 100644
--- a/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py
+++ b/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py
@@ -42,7 +42,7 @@ __usage__     = '%s -e|-d [options] <input_file>' % (__prog__)
 EFI_HASH_ALGORITHM_SHA256_GUID = uuid.UUID('{51aa59de-fdf2-4ea3-bc63-875fb7842ee9}')
 
 #
-# Structure defintion to unpack EFI_CERT_BLOCK_RSA_2048_SHA256 from UEFI 2.4 Specification
+# Structure definition to unpack EFI_CERT_BLOCK_RSA_2048_SHA256 from UEFI 2.4 Specification
 #
 #   typedef struct _EFI_CERT_BLOCK_RSA_2048_SHA256 {
 #     EFI_GUID HashType;
diff --git a/BaseTools/Source/Python/Table/Table.py b/BaseTools/Source/Python/Table/Table.py
index e89b99320d..d8ffc72dab 100644
--- a/BaseTools/Source/Python/Table/Table.py
+++ b/BaseTools/Source/Python/Table/Table.py
@@ -52,7 +52,7 @@ class Table(object):
     # Query all records of the table
     #
     def Query(self):
-        EdkLogger.verbose("\nQuery tabel %s started ..." % self.Table)
+        EdkLogger.verbose("\nQuery table %s started ..." % self.Table)
         SqlCommand = """select * from %s""" % self.Table
         self.Cur.execute(SqlCommand)
         for Rs in self.Cur:
diff --git a/BaseTools/Source/Python/Table/TableFunction.py b/BaseTools/Source/Python/Table/TableFunction.py
index ee677cf107..9d43ff0947 100644
--- a/BaseTools/Source/Python/Table/TableFunction.py
+++ b/BaseTools/Source/Python/Table/TableFunction.py
@@ -38,7 +38,7 @@ class TableFunction(Table):
     # @param Header:              Header of a Function
     # @param Modifier:            Modifier of a Function
     # @param Name:                Name of a Function
-    # @param ReturnStatement:     ReturnStatement of a Funciont
+    # @param ReturnStatement:     ReturnStatement of a Function
     # @param StartLine:           StartLine of a Function
     # @param StartColumn:         StartColumn of a Function
     # @param EndLine:             EndLine of a Function
@@ -75,7 +75,7 @@ class TableFunction(Table):
     # @param Header:              Header of a Function
     # @param Modifier:            Modifier of a Function
     # @param Name:                Name of a Function
-    # @param ReturnStatement:     ReturnStatement of a Funciont
+    # @param ReturnStatement:     ReturnStatement of a Function
     # @param StartLine:           StartLine of a Function
     # @param StartColumn:         StartColumn of a Function
     # @param EndLine:             EndLine of a Function
diff --git a/BaseTools/Source/Python/Table/TableQuery.py b/BaseTools/Source/Python/Table/TableQuery.py
index 8e7d313c71..b203bf88e8 100644
--- a/BaseTools/Source/Python/Table/TableQuery.py
+++ b/BaseTools/Source/Python/Table/TableQuery.py
@@ -37,7 +37,7 @@ class TableQuery(Table):
     #
     # @param ID:                 ID of a Query
     # @param Name:               Name of a Query
-    # @param Modifer:            Modifier of a Query
+    # @param Modifier:           Modifier of a Query
     # @param Value:              Type of a Query
     # @param Model:              Model of a Query
     #
diff --git a/BaseTools/Source/Python/TargetTool/TargetTool.py b/BaseTools/Source/Python/TargetTool/TargetTool.py
index a49a01f9e3..5ff54160aa 100644
--- a/BaseTools/Source/Python/TargetTool/TargetTool.py
+++ b/BaseTools/Source/Python/TargetTool/TargetTool.py
@@ -143,14 +143,14 @@ def GetConfigureKeyValue(self, Key):
         if os.path.exists(dscFullPath):
             Line = "%-30s = %s\n" % (Key, self.Opt.DSCFILE)
         else:
-            EdkLogger.error("TagetTool", BuildToolError.FILE_NOT_FOUND,
+            EdkLogger.error("TargetTool", BuildToolError.FILE_NOT_FOUND,
                             "DSC file %s does not exist!" % self.Opt.DSCFILE, RaiseError=False)
     elif Key == TAB_TAT_DEFINES_TOOL_CHAIN_CONF and self.Opt.TOOL_DEFINITION_FILE is not None:
         tooldefFullPath = os.path.join(self.WorkSpace, self.Opt.TOOL_DEFINITION_FILE)
         if os.path.exists(tooldefFullPath):
             Line = "%-30s = %s\n" % (Key, self.Opt.TOOL_DEFINITION_FILE)
         else:
-            EdkLogger.error("TagetTool", BuildToolError.FILE_NOT_FOUND,
+            EdkLogger.error("TargetTool", BuildToolError.FILE_NOT_FOUND,
                             "Tooldef file %s does not exist!" % self.Opt.TOOL_DEFINITION_FILE, RaiseError=False)
 
     elif self.Opt.NUM >= 2:
diff --git a/BaseTools/Source/Python/Trim/Trim.py b/BaseTools/Source/Python/Trim/Trim.py
index 428bf0d681..825ed3e5d5 100644
--- a/BaseTools/Source/Python/Trim/Trim.py
+++ b/BaseTools/Source/Python/Trim/Trim.py
@@ -168,7 +168,7 @@ def TrimPreprocessedFile(Source, Target, ConvertHex, TrimLong):
                 InjectedFile = MatchList[1]
                 InjectedFile = os.path.normpath(InjectedFile)
                 InjectedFile = os.path.normcase(InjectedFile)
-                # The first injetcted file must be the preprocessed file itself
+                # The first injected file must be the preprocessed file itself
                 if PreprocessedFile == "":
                     PreprocessedFile = InjectedFile
             LineControlDirectiveFound = True
diff --git a/BaseTools/Source/Python/UPT/Core/DependencyRules.py b/BaseTools/Source/Python/UPT/Core/DependencyRules.py
index 9c3baa1b12..89b81f8b1f 100644
--- a/BaseTools/Source/Python/UPT/Core/DependencyRules.py
+++ b/BaseTools/Source/Python/UPT/Core/DependencyRules.py
@@ -159,7 +159,7 @@ class DependencyRules(object):
     #
     # @param PkgObj: A package object
     # @param DpObj: A distribution object
-    # @return: True if package depex satisified
+    # @return: True if package depex satisfied
     #          False else
     #
     def CheckPackageDepexSatisfied(self, PkgObj, DpObj=None):
diff --git a/BaseTools/Source/Python/UPT/Core/IpiDb.py b/BaseTools/Source/Python/UPT/Core/IpiDb.py
index 48defeac7e..bedf26321e 100644
--- a/BaseTools/Source/Python/UPT/Core/IpiDb.py
+++ b/BaseTools/Source/Python/UPT/Core/IpiDb.py
@@ -735,8 +735,8 @@ class IpiDatabase(object):
 
     ## Get a list of module information that comes from DP.
     #
-    # @param DpGuid: A Distrabution Guid
-    # @param DpVersion: A Distrabution version
+    # @param DpGuid: A Distribution Guid
+    # @param DpVersion: A Distribution version
     #
     def GetSModInsPathListFromDp(self, DpGuid, DpVersion):
 
@@ -754,8 +754,8 @@ class IpiDatabase(object):
 
     ## Get a list of package information.
     #
-    # @param DpGuid: A Distrabution Guid
-    # @param DpVersion: A Distrabution version
+    # @param DpGuid: A Distribution Guid
+    # @param DpVersion: A Distribution version
     #
     def GetPackageListFromDp(self, DpGuid, DpVersion):
 
@@ -774,8 +774,8 @@ class IpiDatabase(object):
 
     ## Get a list of modules that depends on package information from a DP.
     #
-    # @param DpGuid: A Distrabution Guid
-    # @param DpVersion: A Distrabution version
+    # @param DpGuid: A Distribution Guid
+    # @param DpVersion: A Distribution version
     #
     def GetDpDependentModuleList(self, DpGuid, DpVersion):
 
@@ -831,8 +831,8 @@ class IpiDatabase(object):
 
     ## Get Dp's list of modules.
     #
-    # @param DpGuid: A Distrabution Guid
-    # @param DpVersion: A Distrabution version
+    # @param DpGuid: A Distribution Guid
+    # @param DpVersion: A Distribution version
     #
     def GetDpModuleList(self, DpGuid, DpVersion):
         ModList = []
diff --git a/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py b/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py
index e2dd6a02dc..63c6da0fec 100644
--- a/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py
+++ b/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py
@@ -646,8 +646,8 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO
     File = codecs.open(ContainerFile, 'w', Encoding)
     File.write(u'\uFEFF' + Content)
     File.stream.close()
-    Md5Sigature = md5(__FileHookOpen__(str(ContainerFile), 'rb').read())
-    Md5Sum = Md5Sigature.hexdigest()
+    Md5Signature = md5(__FileHookOpen__(str(ContainerFile), 'rb').read())
+    Md5Sum = Md5Signature.hexdigest()
     if (ContainerFile, Md5Sum) not in PackageObject.FileList:
         PackageObject.FileList.append((ContainerFile, Md5Sum))
 
diff --git a/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py b/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py
index 1f8b3f163e..40346b0b3a 100644
--- a/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py
+++ b/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py
@@ -255,8 +255,8 @@ def GenModuleUNIEncodeFile(ModuleObject, UniFileHeader='', Encoding=DT.TAB_ENCOD
         File = codecs.open(ContainerFile, 'wb', Encoding)
         File.write(u'\uFEFF' + Content)
         File.stream.close()
-    Md5Sigature = md5(__FileHookOpen__(str(ContainerFile), 'rb').read())
-    Md5Sum = Md5Sigature.hexdigest()
+    Md5Signature = md5(__FileHookOpen__(str(ContainerFile), 'rb').read())
+    Md5Sum = Md5Signature.hexdigest()
     if (ContainerFile, Md5Sum) not in ModuleObject.FileList:
         ModuleObject.FileList.append((ContainerFile, Md5Sum))
 
diff --git a/BaseTools/Source/Python/UPT/InstallPkg.py b/BaseTools/Source/Python/UPT/InstallPkg.py
index c553d707fd..cbc54f9407 100644
--- a/BaseTools/Source/Python/UPT/InstallPkg.py
+++ b/BaseTools/Source/Python/UPT/InstallPkg.py
@@ -176,8 +176,8 @@ def UnZipDp(WorkspaceDir, DpPkgFileName, Index=1):
     # verify MD5 signature when existed
     #
     if DistPkg.Header.Signature != '':
-        Md5Sigature = md5(__FileHookOpen__(ContentFile, 'rb').read())
-        if DistPkg.Header.Signature != Md5Sigature.hexdigest():
+        Md5Signature = md5(__FileHookOpen__(ContentFile, 'rb').read())
+        if DistPkg.Header.Signature != Md5Signature.hexdigest():
             ContentZipFile.Close()
             Logger.Error("InstallPkg", FILE_CHECKSUM_FAILURE,
                 ExtraData=ContentFile)
@@ -215,8 +215,8 @@ def GetPackageList(DistPkg, Dep, WorkspaceDir, Options, ContentZipFile, ModuleLi
     #
     for Package in PackageList:
         FilePath = PackageToDec(Package, DistPkg.Header)
-        Md5Sigature = md5(__FileHookOpen__(str(FilePath), 'rb').read())
-        Md5Sum = Md5Sigature.hexdigest()
+        Md5Signature = md5(__FileHookOpen__(str(FilePath), 'rb').read())
+        Md5Sum = Md5Signature.hexdigest()
         if (FilePath, Md5Sum) not in Package.FileList:
             Package.FileList.append((FilePath, Md5Sum))
 
@@ -275,8 +275,8 @@ def GetModuleList(DistPkg, Dep, WorkspaceDir, ContentZipFile, ModuleList):
     for (Module, Package) in ModuleList:
         CheckCNameInModuleRedefined(Module, DistPkg)
         FilePath = ModuleToInf(Module, Package, DistPkg.Header)
-        Md5Sigature = md5(__FileHookOpen__(str(FilePath), 'rb').read())
-        Md5Sum = Md5Sigature.hexdigest()
+        Md5Signature = md5(__FileHookOpen__(str(FilePath), 'rb').read())
+        Md5Sum = Md5Signature.hexdigest()
         if Package:
             if (FilePath, Md5Sum) not in Package.FileList:
                 Package.FileList.append((FilePath, Md5Sum))
@@ -803,8 +803,8 @@ def InstallFile(ContentZipFile, FromFile, ToFile, ReadOnly, Executable=False):
         else:
             chmod(ToFile, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH | stat.S_IWUSR | stat.S_IWGRP | stat.S_IWOTH)
 
-    Md5Sigature = md5(__FileHookOpen__(str(ToFile), 'rb').read())
-    Md5Sum = Md5Sigature.hexdigest()
+    Md5Signature = md5(__FileHookOpen__(str(ToFile), 'rb').read())
+    Md5Sum = Md5Signature.hexdigest()
 
     return Md5Sum
 
@@ -876,8 +876,8 @@ def InstallPackageContent(FromPath, ToPath, Package, ContentZipFile, Dep,
             chmod(ToFile, stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH)
         else:
             chmod(ToFile, stat.S_IRUSR|stat.S_IRGRP|stat.S_IROTH|stat.S_IWUSR|stat.S_IWGRP|stat.S_IWOTH)
-        Md5Sigature = md5(__FileHookOpen__(str(ToFile), 'rb').read())
-        Md5Sum = Md5Sigature.hexdigest()
+        Md5Signature = md5(__FileHookOpen__(str(ToFile), 'rb').read())
+        Md5Sum = Md5Signature.hexdigest()
         if (ToFile, Md5Sum) not in Package.FileList:
             Package.FileList.append((ToFile, Md5Sum))
     Package.SetIncludeArchList(PackageIncludeArchList)
diff --git a/BaseTools/Source/Python/UPT/Library/CommentParsing.py b/BaseTools/Source/Python/UPT/Library/CommentParsing.py
index a09a530ffb..250ba2dd5e 100644
--- a/BaseTools/Source/Python/UPT/Library/CommentParsing.py
+++ b/BaseTools/Source/Python/UPT/Library/CommentParsing.py
@@ -426,7 +426,7 @@ def _CheckListExpression(Expression):
 
     return IsValidListExpr(ListExpr)
 
-## _CheckExpreesion
+## _CheckExpression
 #
 # @param Expression: Pcd value expression
 #
@@ -476,11 +476,11 @@ def _ValidateCopyright(Line):
 
 def GenerateTokenList (Comment):
     #
-    # Tokenize Comment using '#' and ' ' as token seperators
+    # Tokenize Comment using '#' and ' ' as token separators
     #
-    RelplacedComment = None
-    while Comment != RelplacedComment:
-        RelplacedComment = Comment
+    ReplacedComment = None
+    while Comment != ReplacedComment:
+        ReplacedComment = Comment
         Comment = Comment.replace('##', '#').replace('  ', ' ').replace(' ', '#').strip('# ')
     return Comment.split('#')
 
@@ -538,13 +538,13 @@ def ParseComment (Comment, UsageTokens, TypeTokens, RemoveTokens, ParseVariable)
                 NumTokens = 1
 
     #
-    # Initialze HelpText to Comment.
+    # Initialize HelpText to Comment.
     # Content will be remove from HelpText as matching tokens are found
     #
     HelpText = Comment
 
     #
-    # Tokenize Comment using '#' and ' ' as token seperators
+    # Tokenize Comment using '#' and ' ' as token separators
     #
     List = GenerateTokenList (Comment)
 
diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py b/BaseTools/Source/Python/UPT/Library/DataType.py
index 97ca835882..07673694b2 100644
--- a/BaseTools/Source/Python/UPT/Library/DataType.py
+++ b/BaseTools/Source/Python/UPT/Library/DataType.py
@@ -93,7 +93,7 @@ TAB_STR_TOKENHELP = 'HELP'
 TAB_STR_TOKENERR = 'ERR'
 
 #
-# Dictionary of usage tokens and their synonmys
+# Dictionary of usage tokens and their synonyms
 #
 ALL_USAGE_TOKENS = {
   "PRODUCES"           : "PRODUCES",
diff --git a/BaseTools/Source/Python/UPT/Library/GlobalData.py b/BaseTools/Source/Python/UPT/Library/GlobalData.py
index 40b17cf083..6b093873dd 100644
--- a/BaseTools/Source/Python/UPT/Library/GlobalData.py
+++ b/BaseTools/Source/Python/UPT/Library/GlobalData.py
@@ -43,7 +43,7 @@ gINVALID_MODULE_FILE = gUPT_DIR + r"Invalid_Modules.log"
 gCONTENT_FILE = "dist.content"
 
 #
-# File name for XML file in the distibution
+# File name for XML file in the distribution
 #
 gDESC_FILE = 'dist.pkg'
 
diff --git a/BaseTools/Source/Python/UPT/Library/Misc.py b/BaseTools/Source/Python/UPT/Library/Misc.py
index d69b161420..e7ee27cc53 100644
--- a/BaseTools/Source/Python/UPT/Library/Misc.py
+++ b/BaseTools/Source/Python/UPT/Library/Misc.py
@@ -788,7 +788,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
     FileGuidString = ""
     VerString = ""
 
-    OrignalString = String
+    OriginalString = String
     String = String.strip()
     if not String:
         return None, None
@@ -808,7 +808,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
                      ST.ERR_FILELIST_EXIST % (String),
                      File=GlobalData.gINF_MODULE_NAME,
                      Line=LineNo,
-                     ExtraData=OrignalString)
+                     ExtraData=OriginalString)
 
     #
     # Validate file exist/format.
@@ -821,7 +821,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
                      ST.ERR_INF_PARSER_FILE_NOT_EXIST_OR_NAME_INVALID % (String),
                      File=GlobalData.gINF_MODULE_NAME,
                      Line=LineNo,
-                     ExtraData=OrignalString)
+                     ExtraData=OriginalString)
         return False
     if IsValidFileFlag:
         FileLinesList = []
@@ -973,7 +973,7 @@ def ValidateUNIFilePath(Path):
                         ExtraData=Path)
 
     #
-    # Check if '..' in the file name(without suffixe)
+    # Check if '..' in the file name(without suffix)
     #
     if (TAB_SPLIT + TAB_SPLIT) in Path:
         Logger.Error("Unicode File Parser",
diff --git a/BaseTools/Source/Python/UPT/Library/ParserValidate.py b/BaseTools/Source/Python/UPT/Library/ParserValidate.py
index 87d156fa4c..1408aec242 100644
--- a/BaseTools/Source/Python/UPT/Library/ParserValidate.py
+++ b/BaseTools/Source/Python/UPT/Library/ParserValidate.py
@@ -13,7 +13,7 @@
 #
 
 '''
-PaserValidate
+ParserValidate
 '''
 
 import os.path
@@ -68,7 +68,7 @@ def IsValidHex(HexStr):
 #
 def IsValidBoolType(BoolString):
     #
-    # Valid Ture
+    # Valid True
     #
     if BoolString == 'TRUE' or \
        BoolString == 'True' or \
@@ -124,11 +124,11 @@ def IsValidInfComponentType(ComponentType):
 ## Is valid Tool Family or not
 #
 # @param   ToolFamily:   A string contain Tool Family need to be judged.
-# Famlily := [A-Z]([a-zA-Z0-9])*
+# Family := [A-Z]([a-zA-Z0-9])*
 #
 def IsValidToolFamily(ToolFamily):
-    ReIsValieFamily = re.compile(r"^[A-Z]+[A-Za-z0-9]{0,}$", re.DOTALL)
-    if ReIsValieFamily.match(ToolFamily) is None:
+    ReIsValidFamily = re.compile(r"^[A-Z]+[A-Za-z0-9]{0,}$", re.DOTALL)
+    if ReIsValidFamily.match(ToolFamily) is None:
         return False
     return True
 
@@ -158,8 +158,8 @@ def IsValidToolTagName(TagName):
 def IsValidArch(Arch):
     if Arch == 'common':
         return True
-    ReIsValieArch = re.compile(r"^[a-zA-Z]+[a-zA-Z0-9]{0,}$", re.DOTALL)
-    if ReIsValieArch.match(Arch) is None:
+    ReIsValidArch = re.compile(r"^[a-zA-Z]+[a-zA-Z0-9]{0,}$", re.DOTALL)
+    if ReIsValidArch.match(Arch) is None:
         return False
     return True
 
diff --git a/BaseTools/Source/Python/UPT/Library/Parsing.py b/BaseTools/Source/Python/UPT/Library/Parsing.py
index 3eca8e3849..f7e995b93e 100644
--- a/BaseTools/Source/Python/UPT/Library/Parsing.py
+++ b/BaseTools/Source/Python/UPT/Library/Parsing.py
@@ -959,7 +959,7 @@ def MacroParser(Line, FileName, SectionType, FileLocalMacros):
 #                       INF, DEC specs
 # @param  SectionDict:  section statement dict, key is SectionAttrs(arch,
 #                       moduletype or platform may exist as needed) list
-#                       seperated by space,
+#                       separated by space,
 #                       value is statement
 #
 def GenSection(SectionName, SectionDict, SplitArch=True, NeedBlankLine=False):
diff --git a/BaseTools/Source/Python/UPT/Library/StringUtils.py b/BaseTools/Source/Python/UPT/Library/StringUtils.py
index a3391daa91..6fa1ee89d4 100644
--- a/BaseTools/Source/Python/UPT/Library/StringUtils.py
+++ b/BaseTools/Source/Python/UPT/Library/StringUtils.py
@@ -33,7 +33,7 @@ gMACRO_PATTERN = re.compile("\$\(([_A-Z][_A-Z0-9]*)\)", re.UNICODE)
 
 ## GetSplitValueList
 #
-# Get a value list from a string with multiple values splited with SplitTag
+# Get a value list from a string with multiple values split with SplitTag
 # The default SplitTag is DataType.TAB_VALUE_SPLIT
 # 'AAA|BBB|CCC' -> ['AAA', 'BBB', 'CCC']
 #
@@ -67,7 +67,7 @@ def MergeArches(Dict, Key, Arch):
 # Return False if invalid format
 #
 # @param String:   String with DEFINE statement
-# @param Arch:     Supportted Arch
+# @param Arch:     Supported Arch
 # @param Defines:  DEFINE statement to be parsed
 #
 def GenDefines(String, Arch, Defines):
@@ -236,7 +236,7 @@ def ReplaceMacro(String, MacroDefinitions=None, SelfReplacement=False, Line=None
 ## NormPath
 #
 # Create a normal path
-# And replace DFEINE in the path
+# And replace DEFINE in the path
 #
 # @param Path:     The input value for Path to be converted
 # @param Defines:  A set for DEFINE statement
@@ -613,9 +613,9 @@ def WorkspaceFile(WorkspaceDir, Filename):
 
 ## Split string
 #
-# Revmove '"' which startswith and endswith string
+# Remove '"' which startswith and endswith string
 #
-# @param String:  The string need to be splited
+# @param String:  The string need to be split
 #
 def SplitString(String):
     if String.startswith('\"'):
@@ -734,7 +734,7 @@ def IsHexDigit(Str):
                 return False
     return False
 
-## Check if the string is HexDgit and its interger value within limit of UINT32
+## Check if the string is HexDgit and its integer value within limit of UINT32
 #
 # Return true if all characters in the string are digits and there is at
 # least one character
diff --git a/BaseTools/Source/Python/UPT/Library/UniClassObject.py b/BaseTools/Source/Python/UPT/Library/UniClassObject.py
index bd7804b753..d575c6b1f8 100644
--- a/BaseTools/Source/Python/UPT/Library/UniClassObject.py
+++ b/BaseTools/Source/Python/UPT/Library/UniClassObject.py
@@ -130,12 +130,12 @@ def ConvertSpecialUnicodes(Uni):
 ## GetLanguageCode1766
 #
 # Check the language code read from .UNI file and convert RFC 4646 codes to RFC 1766 codes
-# RFC 1766 language codes supported in compatiblity mode
+# RFC 1766 language codes supported in compatibility mode
 # RFC 4646 language codes supported in native mode
 #
 # @param LangName:   Language codes read from .UNI file
 #
-# @retval LangName:  Valid lanugage code in RFC 1766 format or None
+# @retval LangName:  Valid language code in RFC 1766 format or None
 #
 def GetLanguageCode1766(LangName, File=None):
     return LangName
@@ -177,7 +177,7 @@ def GetLanguageCode1766(LangName, File=None):
 ## GetLanguageCode
 #
 # Check the language code read from .UNI file and convert RFC 1766 codes to RFC 4646 codes if appropriate
-# RFC 1766 language codes supported in compatiblity mode
+# RFC 1766 language codes supported in compatibility mode
 # RFC 4646 language codes supported in native mode
 #
 # @param LangName:   Language codes read from .UNI file
@@ -221,13 +221,13 @@ def GetLanguageCode(LangName, IsCompatibleMode, File):
 
 ## FormatUniEntry
 #
-# Formated the entry in Uni file.
+# Formatted the entry in Uni file.
 #
 # @param StrTokenName    StrTokenName.
 # @param TokenValueList  A list need to be processed.
 # @param ContainerFile   ContainerFile.
 #
-# @return formated entry
+# @return formatted entry
 def FormatUniEntry(StrTokenName, TokenValueList, ContainerFile):
     SubContent = ''
     PreFormatLength = 40
@@ -478,8 +478,8 @@ class UniFileClassObject(object):
         MultiLineFeedExits = False
         #
         # 0: initial value
-        # 1: signle String entry exist
-        # 2: line feed exist under the some signle String entry
+        # 1: single String entry exist
+        # 2: line feed exist under the some single String entry
         #
         StringEntryExistsFlag = 0
         for Line in FileIn:
@@ -497,7 +497,7 @@ class UniFileClassObject(object):
                     StringEntryExistsFlag = 2
                 #
                 # If the '#string' line and the '#language' line are not in the same line,
-                # there should be only one line feed character betwwen them
+                # there should be only one line feed character between them
                 #
                 if MultiLineFeedExits:
                     EdkLogger.Error("Unicode File Parser", ToolError.FORMAT_INVALID, ExtraData=File.Path)
@@ -505,7 +505,7 @@ class UniFileClassObject(object):
 
             MultiLineFeedExits = False
             #
-            # Process comment embeded in string define lines
+            # Process comment embedded in string define lines
             #
             FindFlag = Line.find(u'//')
             if FindFlag != -1 and Line.find(u'//') < Line.find(u'"'):
@@ -771,7 +771,7 @@ class UniFileClassObject(object):
 
         #
         # Check Abstract, Description, BinaryAbstract and BinaryDescription order,
-        # should be Abstract, Description, BinaryAbstract, BinaryDesctiption
+        # should be Abstract, Description, BinaryAbstract, BinaryDescription
         AbstractPosition = -1
         DescriptionPosition = -1
         BinaryAbstractPosition = -1
diff --git a/BaseTools/Source/Python/UPT/Logger/Log.py b/BaseTools/Source/Python/UPT/Logger/Log.py
index e8c31f0072..7671202b30 100644
--- a/BaseTools/Source/Python/UPT/Logger/Log.py
+++ b/BaseTools/Source/Python/UPT/Logger/Log.py
@@ -190,7 +190,7 @@ def Warn(ToolName, Message, File=None, Line=None, ExtraData=None):
 
     _INFO_LOGGER.log(WARN, LogText)
     #
-    # Raise an execption if indicated
+    # Raise an exception if indicated
     #
     if GlobalData.gWARNING_AS_ERROR == True:
         raise FatalError(WARNING_AS_ERROR)
@@ -198,7 +198,7 @@ def Warn(ToolName, Message, File=None, Line=None, ExtraData=None):
 ## Log ERROR message
 #
 # Once an error messages is logged, the tool's execution will be broken by
-# raising an execption. If you don't want to break the execution later, you
+# raising an exception. If you don't want to break the execution later, you
 # can give "RaiseError" with "False" value.
 #
 #   @param  ToolName    The name of the tool. If not given, the name of caller
@@ -208,7 +208,7 @@ def Warn(ToolName, Message, File=None, Line=None, ExtraData=None):
 #   @param  File        The name of file which caused the error.
 #   @param  Line        The line number in the "File" which caused the warning.
 #   @param  ExtraData   More information associated with "Message"
-#   @param  RaiseError  Raise an exception to break the tool's executuion if
+#   @param  RaiseError  Raise an exception to break the tool's execution if
 #                       it's True. This is the default behavior.
 #
 def Error(ToolName, ErrorCode, Message=None, File=None, Line=None, \
diff --git a/BaseTools/Source/Python/UPT/Logger/StringTable.py b/BaseTools/Source/Python/UPT/Logger/StringTable.py
index 061943925a..d815d9cf89 100644
--- a/BaseTools/Source/Python/UPT/Logger/StringTable.py
+++ b/BaseTools/Source/Python/UPT/Logger/StringTable.py
@@ -135,7 +135,7 @@ ERR_INF_PARSER_LIBRARY_SECTION_CONTENT_ERROR = \
 ERR_INF_PARSER_LIBRARY_SECTION_LIBNAME_MISSING = \
     _("Format invalid. Please specify a library name.")
 ERR_INF_PARSER_SOURCES_SECTION_CONTENT_ERROR = \
-    _("The format is incorrect. It should be formated as follows: "
+    _("The format is incorrect. It should be formatted as follows: "
       "FileName, Family | TagName | ToolCode | FeatureFlagExpr.")
 ERR_INF_PARSER_PCD_SECTION_TYPE_ERROR = \
     _("The PCD section type is incorrect. The value should be this list: %s")
@@ -147,10 +147,10 @@ ERR_INF_PARSER_PCD_NAME_FORMAT_ERROR = \
       "Should like following: <TokenSpaceGuidCName>.<PcdCName> ")
 ERR_INF_PARSER_GUID_PPI_PROTOCOL_SECTION_CONTENT_ERROR = \
     _("The format is incorrect. "
-      "It should be formated as follows: CName | FeatureFlag.")
+      "It should be formatted as follows: CName | FeatureFlag.")
 ERR_INF_PARSER_PACKAGE_SECTION_CONTENT_ERROR = \
     _("The format is incorrect. "
-      "It should be formated as follows:  <TokenSpaceGuidCName>.<PcdCName>")
+      "It should be formatted as follows:  <TokenSpaceGuidCName>.<PcdCName>")
 ERR_INF_PARSER_PCD_TAIL_COMMENTS_INVALID = \
     _("The format is incorrect. "
       "Multiple usage descriptions must be described on subsequent lines.")
@@ -197,7 +197,7 @@ ERR_INF_PARSER_FILE_MISS_DEFINE = \
     _("The following file listed in the module "
       "directory is not listed in the INF: %s")
 ERR_INF_PARSER_VERSION_NUMBER_DEPRICATED = \
-    _("VERSION_NUMBER depricated.  "
+    _("VERSION_NUMBER deprecated.  "
       "The INF file %s should be modified to use the VERSION_STRING instead.")
 ERR_INF_PARSER_VER_EXIST_BOTH_NUM_STR = \
     _("The INF file %s defines both VERSION_NUMBER and VERSION_STRING, "
@@ -585,7 +585,7 @@ _("Only a distribution file name without a path is allowed for "
   "the distribution to be replaced during replace. Current given: '%s'.")
 ERR_UNIPARSE_DBLQUOTE_UNMATCHED = \
 _("Only Language entry can contain a couple of matched quote in one line")
-ERR_UNIPARSE_NO_SECTION_EXIST = _("No PakcageDef or ModuleDef section exists in the UNI file.")
+ERR_UNIPARSE_NO_SECTION_EXIST = _("No PackageDef or ModuleDef section exists in the UNI file.")
 ERR_UNIPARSE_STRNAME_FORMAT_ERROR = _("The String Token Name %s must start with \"STR_\"")
 ERR_UNIPARSE_SEP_LANGENTRY_LINE = _("Each <LangEntry> should be in a separate line :%s.")
 ERR_UNIPARSE_MULTI_ENTRY_EXIST = \
@@ -724,7 +724,7 @@ _("Incorrect GUID value format, must be <GuidValueInCFormat:"
 ERR_DECPARSE_CGUID_NOT_FOUND = _("Unable to find the GUID value of this GUID CName : '%s'.")
 ERR_DECPARSE_FILEOPEN               = _("Unable to open: [%s].")
 ERR_DECPARSE_SECTION_EMPTY          = _("Empty sections are not allowed.")
-ERR_DECPARSE_SECTION_UE             = _("Incorrect UserExtentions format. "
+ERR_DECPARSE_SECTION_UE             = _("Incorrect UserExtensions format. "
                             "Must be UserExtenxions.UserId.IdString[.Arch]+.")
 ERR_DECPARSE_SECTION_UE_USERID      = _("Invalid UserId, must be underscore"
                                         "or alphanumeric characters.")
diff --git a/BaseTools/Source/Python/UPT/Logger/ToolError.py b/BaseTools/Source/Python/UPT/Logger/ToolError.py
index 7f7df9c6d5..a074edca8a 100644
--- a/BaseTools/Source/Python/UPT/Logger/ToolError.py
+++ b/BaseTools/Source/Python/UPT/Logger/ToolError.py
@@ -1,5 +1,5 @@
 ## @file
-# Standardized Error Hanlding infrastructures.
+# Standardized Error Handling infrastructures.
 #
 # Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
 #
diff --git a/BaseTools/Source/Python/UPT/MkPkg.py b/BaseTools/Source/Python/UPT/MkPkg.py
index 053d115547..3dc18ac6eb 100644
--- a/BaseTools/Source/Python/UPT/MkPkg.py
+++ b/BaseTools/Source/Python/UPT/MkPkg.py
@@ -194,7 +194,7 @@ def Main(Options = None):
         ContentFileClosed = True
 
         #
-        # Add Md5Sigature
+        # Add Md5Signature
         #
         DistPkg.Header.Signature = md5(open(str(ContentFile), 'rb').read()).hexdigest()
         #
diff --git a/BaseTools/Source/Python/UPT/Object/Parser/DecObject.py b/BaseTools/Source/Python/UPT/Object/Parser/DecObject.py
index 302d3050aa..fab4be351f 100644
--- a/BaseTools/Source/Python/UPT/Object/Parser/DecObject.py
+++ b/BaseTools/Source/Python/UPT/Object/Parser/DecObject.py
@@ -171,7 +171,7 @@ class _DecItemBaseObject(_DecComments):
 
 ## DecDefineObject
 #
-# Class to hold define section infomation
+# Class to hold define section information
 #
 class DecDefineObject(_DecBaseObject):
     def __init__(self, PkgFullName):
@@ -520,7 +520,7 @@ class DecGuidObject(DecGuidObjectBase):
 
 ## DecPpiObject
 #
-# Class for PPI seciont
+# Class for PPI section
 #
 # @param DecGuidObjectBase: Dec Guid Object Base
 #
diff --git a/BaseTools/Source/Python/UPT/Parser/DecParser.py b/BaseTools/Source/Python/UPT/Parser/DecParser.py
index f7eeb84127..92bd64b9d9 100644
--- a/BaseTools/Source/Python/UPT/Parser/DecParser.py
+++ b/BaseTools/Source/Python/UPT/Parser/DecParser.py
@@ -705,7 +705,7 @@ class _DecGuid(_DecBase):
 
 ## _DecUserExtension
 #
-# Parse user extention section
+# Parse user extension section
 #
 class _DecUserExtension(_DecBase):
     def __init__(self, RawData):
@@ -1033,7 +1033,7 @@ class Dec(_DecBase, _DecComments):
                 SectionNames.append(SectionName)
             #
             # In DEC specification, all section headers have at most two part:
-            # SectionName.Arch except UserExtention
+            # SectionName.Arch except UserExtension
             #
             if len(ItemList) > 2:
                 self._LoggerError(ST.ERR_DECPARSE_SECTION_SUBTOOMANY % Item)
diff --git a/BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py b/BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py
index c314892adf..53b62621dc 100644
--- a/BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py
+++ b/BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py
@@ -46,7 +46,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo, CurrentInfFileName):
     FileGuidString = ""
     VerString = ""
 
-    OrignalString = String
+    OriginalString = String
     String = String.strip()
     if not String:
         return None, None
@@ -78,7 +78,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo, CurrentInfFileName):
     #
     # To deal with library instance specified by file name
     #
-    FileLinesList = GetFileLineContent(String, WorkSpace, LineNo, OrignalString)
+    FileLinesList = GetFileLineContent(String, WorkSpace, LineNo, OriginalString)
 
 
     ReFindFileGuidPattern = re.compile("^\s*FILE_GUID\s*=.*$")
diff --git a/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py b/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py
index 5dc00affad..a7b59d958c 100644
--- a/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py
+++ b/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py
@@ -413,7 +413,7 @@ class DecPomAlignment(PackageObject):
 
         #
         # get a non-overlap set of include path, IncludePathList should be
-        # sorted, and path should be end with path seperator '\'
+        # sorted, and path should be end with path separator '\'
         #
         NonOverLapList = []
         for Path1 in IncludePathList:
@@ -424,7 +424,7 @@ class DecPomAlignment(PackageObject):
                 NonOverLapList.append(Path1)
         #
         # revert the list so the longest path shown first in list, also need
-        # to remove the extra path seperator '\'
+        # to remove the extra path separator '\'
         # as this list is used to search the supported Arch info
         #
         for IndexN in range (0, len(IncludePathList)):
diff --git a/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignment.py b/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignment.py
index 2e83c247ed..d01481727b 100644
--- a/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignment.py
+++ b/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignment.py
@@ -293,7 +293,7 @@ class InfPomAlignment(ModuleObject):
             self.SetUserExtensionList(self.GetUserExtensionList() + [UserExtension])
         #
         # Get all meta-file header information
-        # the record is list of items formated:
+        # the record is list of items formatted:
         # [LineValue, Arch, StartLine, ID, Third]
         #
         InfHeaderObj = self.Parser.InfHeader
diff --git a/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignmentMisc.py b/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignmentMisc.py
index 239078d019..68f281b521 100644
--- a/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignmentMisc.py
+++ b/BaseTools/Source/Python/UPT/PomAdapter/InfPomAlignmentMisc.py
@@ -155,10 +155,10 @@ def GenModuleHeaderUserExt(DefineObj, ArchString):
 ## Generate the define statement that will be put into userextension
 #  Not support comments.
 #
-# @param HeaderComment: the original header comment (# not remvoed)
+# @param HeaderComment: the original header comment (# not removed)
 # @param Name: the definition keyword, should not be empty or none
 # @param Value: the definition keyword value
-# @param TailComment: the original Tail comment (# not remvoed)
+# @param TailComment: the original Tail comment (# not removed)
 #
 # @return: the regenerated define statement
 #
diff --git a/BaseTools/Source/Python/UPT/RmPkg.py b/BaseTools/Source/Python/UPT/RmPkg.py
index f1d141c736..3d97295362 100644
--- a/BaseTools/Source/Python/UPT/RmPkg.py
+++ b/BaseTools/Source/Python/UPT/RmPkg.py
@@ -242,8 +242,8 @@ def RemoveDist(Guid, Version, StoredDistFile, DataBase, WorkspaceDir, ForceRemov
                 #
                 # check whether modified by users
                 #
-                Md5Sigature = md5(open(str(Path), 'rb').read())
-                if Md5Sum != Md5Sigature.hexdigest():
+                Md5Signature = md5(open(str(Path), 'rb').read())
+                if Md5Sum != Md5Signature.hexdigest():
                     Logger.Info(ST.MSG_CONFIRM_REMOVE2 % Path)
                     Input = stdin.readline()
                     Input = Input.replace('\r', '').replace('\n', '')
diff --git a/BaseTools/Source/Python/UPT/UnitTest/DecParserUnitTest.py b/BaseTools/Source/Python/UPT/UnitTest/DecParserUnitTest.py
index afea4a438b..752a9ea446 100644
--- a/BaseTools/Source/Python/UPT/UnitTest/DecParserUnitTest.py
+++ b/BaseTools/Source/Python/UPT/UnitTest/DecParserUnitTest.py
@@ -61,9 +61,9 @@ class MacroParserTestCase(unittest.TestCase):
         self.dec = _DecBase(FileContent('dummy', []))
 
     def testCorrectMacro(self):
-        self.dec._MacroParser('DEFINE MARCRO1 = test1')
-        self.failIf('MARCRO1' not in self.dec._LocalMacro)
-        self.assertEqual(self.dec._LocalMacro['MARCRO1'], 'test1')
+        self.dec._MacroParser('DEFINE MACRO1 = test1')
+        self.failIf('MACRO1' not in self.dec._LocalMacro)
+        self.assertEqual(self.dec._LocalMacro['MACRO1'], 'test1')
 
     def testErrorMacro1(self):
         # Raise fatal error, macro name must be upper case letter
diff --git a/BaseTools/Source/Python/Workspace/BuildClassObject.py b/BaseTools/Source/Python/Workspace/BuildClassObject.py
index cff77a71ae..1df042f41c 100644
--- a/BaseTools/Source/Python/Workspace/BuildClassObject.py
+++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py
@@ -176,7 +176,7 @@ class PcdClassObject(object):
     ## Convert the class to a string
     #
     #  Convert each member of the class to string
-    #  Organize to a signle line format string
+    #  Organize to a single line format string
     #
     #  @retval Rtn Formatted String
     #
diff --git a/BaseTools/Source/Python/Workspace/DecBuildData.py b/BaseTools/Source/Python/Workspace/DecBuildData.py
index 36b39be5d5..149c057b70 100644
--- a/BaseTools/Source/Python/Workspace/DecBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DecBuildData.py
@@ -121,7 +121,7 @@ class DecBuildData(PackageBuildClassObject):
 
     ## Retrieve all information in [Defines] section
     #
-    #   (Retriving all [Defines] information in one-shot is just to save time.)
+    #   (Retrieving all [Defines] information in one-shot is just to save time.)
     #
     def _GetHeaderInfo(self):
         RecordList = self._RawData[MODEL_META_DATA_HEADER, self._Arch]
@@ -167,7 +167,7 @@ class DecBuildData(PackageBuildClassObject):
         if self._Protocols is None:
             #
             # tdict is a special kind of dict, used for selecting correct
-            # protocol defition for given ARCH
+            # protocol definition for given ARCH
             #
             ProtocolDict = tdict(True)
             PrivateProtocolDict = tdict(True)
@@ -210,7 +210,7 @@ class DecBuildData(PackageBuildClassObject):
         if self._Ppis is None:
             #
             # tdict is a special kind of dict, used for selecting correct
-            # PPI defition for given ARCH
+            # PPI definition for given ARCH
             #
             PpiDict = tdict(True)
             PrivatePpiDict = tdict(True)
@@ -253,7 +253,7 @@ class DecBuildData(PackageBuildClassObject):
         if self._Guids is None:
             #
             # tdict is a special kind of dict, used for selecting correct
-            # GUID defition for given ARCH
+            # GUID definition for given ARCH
             #
             GuidDict = tdict(True)
             PrivateGuidDict = tdict(True)
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index f472fa177f..1fd1639ab6 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -343,7 +343,7 @@ class DscBuildData(PlatformBuildClassObject):
 
     ## Retrieve all information in [Defines] section
     #
-    #   (Retriving all [Defines] information in one-shot is just to save time.)
+    #   (Retrieving all [Defines] information in one-shot is just to save time.)
     #
     def _GetHeaderInfo(self):
         RecordList = self._RawData[MODEL_META_DATA_HEADER, self._Arch]
diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/Source/Python/Workspace/InfBuildData.py
index fc779a9d25..6148ab0d30 100644
--- a/BaseTools/Source/Python/Workspace/InfBuildData.py
+++ b/BaseTools/Source/Python/Workspace/InfBuildData.py
@@ -205,7 +205,7 @@ class InfBuildData(ModuleBuildClassObject):
 
     ## Retrieve all information in [Defines] section
     #
-    #   (Retriving all [Defines] information in one-shot is just to save time.)
+    #   (Retrieving all [Defines] information in one-shot is just to save time.)
     #
     @cached_class_function
     def _GetHeaderInfo(self):
@@ -816,7 +816,7 @@ class InfBuildData(ModuleBuildClassObject):
             RetVal[Arch, ModuleType] = TemporaryDictionary[Arch, ModuleType]
         return RetVal
 
-    ## Retrieve depedency expression
+    ## Retrieve dependency expression
     @cached_property
     def DepexExpression(self):
         RetVal = tdict(False, 2)
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py
index 311d0faf38..a3e3216221 100644
--- a/BaseTools/Source/Python/Workspace/MetaFileParser.py
+++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py
@@ -438,7 +438,7 @@ class MetaFileParser(object):
         ScopeKey = tuple(ScopeKey)
         #
         # DecParser SectionType is a list, will contain more than one item only in Pcd Section
-        # As Pcd section macro usage is not alllowed, so here it is safe
+        # As Pcd section macro usage is not allowed, so here it is safe
         #
         if isinstance(self, DecParser):
             SectionDictKey = self._SectionType[0], ScopeKey
diff --git a/BaseTools/Source/Python/Workspace/WorkspaceCommon.py b/BaseTools/Source/Python/Workspace/WorkspaceCommon.py
index ee238e5143..b79280bc2e 100644
--- a/BaseTools/Source/Python/Workspace/WorkspaceCommon.py
+++ b/BaseTools/Source/Python/Workspace/WorkspaceCommon.py
@@ -247,7 +247,7 @@ def GetModuleLibInstances(Module, Platform, BuildDatabase, Arch, Target, Toolcha
             SortedLibraryList.append(Item)
 
     #
-    # Build the list of constructor and destructir names
+    # Build the list of constructor and destructor names
     # The DAG Topo sort produces the destructor order, so the list of constructors must generated in the reverse order
     #
     SortedLibraryList.reverse()
diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
index a6a292d15c..921a229a1c 100644
--- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
+++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
@@ -37,7 +37,7 @@ from Workspace.InfBuildData import InfBuildData
 #
 # @param DbPath             Path of database file
 # @param GlobalMacros       Global macros used for replacement during file parsing
-# @prarm RenewDb=False      Create new database file if it's already there
+# @param RenewDb=False      Create new database file if it's already there
 #
 class WorkspaceDatabase(object):
 
@@ -82,7 +82,7 @@ class WorkspaceDatabase(object):
                 Arch = None
             return (FilePath, Arch) in self._CACHE_
 
-        # key = (FilePath, Arch=None, Target=None, Toochain=None)
+        # key = (FilePath, Arch=None, Target=None, Toolchain=None)
         def __getitem__(self, Key):
             FilePath = Key[0]
             KeyLength = len(Key)
@@ -123,7 +123,7 @@ class WorkspaceDatabase(object):
                                 Arch,
                                 MetaFileStorage(self.WorkspaceDb, FilePath, FileType)
                                 )
-            # alwasy do post-process, in case of macros change
+            # always do post-process, in case of macros change
             MetaFile.DoPostProcess()
             # object the build is based on
             BuildObject = self._GENERATOR_[FileType](
@@ -149,7 +149,7 @@ class WorkspaceDatabase(object):
     #
     # @param DbPath             Path of database file
     # @param GlobalMacros       Global macros used for replacement during file parsing
-    # @prarm RenewDb=False      Create new database file if it's already there
+    # @param RenewDb=False      Create new database file if it's already there
     #
     def __init__(self):
         self.DB = dict()
diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py
index cdea312864..99e79d4dca 100644
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -488,7 +488,7 @@ class BuildTask:
                 time.sleep(0.1)
         except BaseException as X:
             #
-            # TRICK: hide the output of threads left runing, so that the user can
+            # TRICK: hide the output of threads left running, so that the user can
             #        catch the error message easily
             #
             EdkLogger.SetLevel(EdkLogger.ERROR)
@@ -613,7 +613,7 @@ class BuildTask:
             self.CompleteFlag = True
         except:
             #
-            # TRICK: hide the output of threads left runing, so that the user can
+            # TRICK: hide the output of threads left running, so that the user can
             #        catch the error message easily
             #
             if not BuildTask._ErrorFlag.isSet():
@@ -1380,7 +1380,7 @@ class Build():
                 LaunchCommand(["GenFw", "--address", str(BaseAddress), "-r", ModuleOutputImage], ModuleInfo.OutputDir)
                 LaunchCommand(["GenFw", "--address", str(BaseAddress), "-r", ModuleDebugImage], ModuleInfo.DebugDir)
             #
-            # Collect funtion address from Map file
+            # Collect function address from Map file
             #
             ImageMapTable = ModuleOutputImage.replace('.efi', '.map')
             FunctionList = []
@@ -1433,7 +1433,7 @@ class Build():
             #
             MapBuffer.append('(IMAGE=%s)\n\n' % (ModuleDebugImage))
             #
-            # Add funtion address
+            # Add function address
             #
             for Function in FunctionList:
                 if AddrIsOffset:
diff --git a/BaseTools/Tests/TianoCompress.py b/BaseTools/Tests/TianoCompress.py
index f6a4a6ae9c..1be55188d6 100644
--- a/BaseTools/Tests/TianoCompress.py
+++ b/BaseTools/Tests/TianoCompress.py
@@ -57,7 +57,7 @@ class Tests(TestTools.BaseToolsTest):
             print('Original data did not match decompress(compress(data))')
             self.DisplayBinaryData('original data', start)
             self.DisplayBinaryData('after compression', self.ReadTmpFile('output1'))
-            self.DisplayBinaryData('after decomression', finish)
+            self.DisplayBinaryData('after decompression', finish)
         self.assertTrue(startEqualsFinish)
 
     def testRandomDataCycles(self):
diff --git a/BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf b/BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf
index 587f6fb5b6..9192bb699e 100644
--- a/BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf
+++ b/BaseTools/UserManuals/GenFds_Utility_Man_Page.rtf
@@ -159,7 +159,7 @@ ool will generate a FV directory which includes a FFS directory, Fv file, Fv INf
 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid13252123 \hich\af41\dbch\af13\loch\f41 described }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 in the FDF file }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 
 \fs18\cf1\insrsid13252123 \hich\af41\dbch\af13\loch\f41 such as }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 the \hich\f41 \lquote \loch\f41 InfFIle\hich\f41 \rquote \loch\f41 
  statement format  the GenFds tool }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid13252123 \hich\af41\dbch\af13\loch\f41 will determing the }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 \hich\f41 
- input files from the path of  \'93\loch\f41  $(outputDir)\\ $(Arch) \\ $(ActivePlatfromName) \\$(ModuleName) \\$(ModuleName) \\DEBUG
+ input files from the path of  \'93\loch\f41  $(outputDir)\\ $(Arch) \\ $(ActivePlatformName) \\$(ModuleName) \\$(ModuleName) \\DEBUG
 \par }\pard \ltrpar\ql \fi-360\li420\ri0\sb200\nowidctlpar\tx420\wrapdefault\faauto\rin0\lin420\itap0 {\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 1.\tab If Arch list was }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 
 \fs18\cf1\insrsid13252123 \hich\af41\dbch\af13\loch\f41 specified}{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 , }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid13252123 \hich\af41\dbch\af13\loch\f41 
 the }{\rtlch\fcs1 \af41\afs18 \ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 GenFds tool will use this Arch instead of Arch List in Target.txt file
@@ -258,11 +258,11 @@ ARCHS is a comma separated (no space) list containing one or more of: IA32, X64,
 \fs24\lang1033\langfe1033\loch\af41\hich\af41\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af41\afs28 \ltrch\fcs0 \b\fs28\cf17\insrsid5513321 {\*\bkmkend OLE_LINK3}{\*\bkmkend OLE_LINK4}{\*\bkmkend OLE_LINK5}\hich\af41\dbch\af13\loch\f41 
 Example
 \par }\pard\plain \ltrpar\ql \li60\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin60\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af41\hich\af41\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af41\afs18 
-\ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 1. WORKSAPCE has already set. $(WORKSPACE) = c:\\work\\\hich\af41\dbch\af13\loch\f41 EdkII. The Fdf file is in c:\\work\\EdkII\\Nt32pkg\\Nt32pkg.fdf. Output directory is c:\\work\\EdkII\\
+\ltrch\fcs0 \fs18\cf1\insrsid5513321 \hich\af41\dbch\af13\loch\f41 1. WORKSPACE has already set. $(WORKSPACE) = c:\\work\\\hich\af41\dbch\af13\loch\f41 EdkII. The Fdf file is in c:\\work\\EdkII\\Nt32pkg\\Nt32pkg.fdf. Output directory is c:\\work\\EdkII\\
 Build\\Nt32\\Debug_MyTools.  ActivePlatform is C:\\work\\EdkII\\Nt32Pkg\\Nt32Pkg.dsc
 \par \hich\af41\dbch\af13\loch\f41 GenFds \hich\f41 \endash \loch\f41 f c:\\work\\EdkII\\Nt32pkg\\Nt32pkg.fdf \hich\f41 \endash \loch\f41 o c:\\work\\EdkII\\Build\\Nt32\\Debug_MyTo\hich\af41\dbch\af13\loch\f41 ols \hich\f41 \endash \loch\f41 p c:\\work\\EdkII
 \\Nt32pkg\\Nt32Pkg.dsc
-\par \hich\af41\dbch\af13\loch\f41 GenFds \hich\f41 \endash \loch\f41 f $(WORKSPACE)\\Nt32Pkg\\Nt32Pkg.fdf \hich\f41 \endash \loch\f41 o $(WORSPACE)\\Build\\Nt32\\Debug_MyTools \hich\f41 \endash \loch\f41 p $(WORKSAPCE)\\Nt32Pkg\\Nt32Pkg.dsc
+\par \hich\af41\dbch\af13\loch\f41 GenFds \hich\f41 \endash \loch\f41 f $(WORKSPACE)\\Nt32Pkg\\Nt32Pkg.fdf \hich\f41 \endash \loch\f41 o $(WORSPACE)\\Build\\Nt32\\Debug_MyTools \hich\f41 \endash \loch\f41 p $(WORKSPACE)\\Nt32Pkg\\Nt32Pkg.dsc
 \par 
 \par \hich\af41\dbch\af13\loch\f41 GenFds \hich\f41 \endash \loch\f41 f Nt32Pkg\\Nt32Pkg.fdf \hich\f41 \endash \loch\f41 o Build\\Nt32\\Debug_MyTools \hich\f41 \endash \loch\f41 p Nt32Pkg\\Nt32Pkg.dsc
 \par \hich\af41\dbch\af13\loch\f41 2. Generate on\hich\af41\dbch\af13\loch\f41 e FD which is defined in FDF file. Use \hich\f41 \lquote \loch\f41 -r\hich\f41 \rquote \loch\f41 
diff --git a/BaseTools/UserManuals/GenFw_Utility_Man_Page.rtf b/BaseTools/UserManuals/GenFw_Utility_Man_Page.rtf
index 4093baba7a..f4235b77fb 100644
--- a/BaseTools/UserManuals/GenFw_Utility_Man_Page.rtf
+++ b/BaseTools/UserManuals/GenFw_Utility_Man_Page.rtf
@@ -111,7 +111,7 @@ tamp. It can also extract PE32 image data to create bin file, extract PE32 image
 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid4815795 
 \par }{\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8459339 \hich\af43\dbch\af31505\loch\f43 Filename1 [FilenameN]
 \par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8459339 \hich\af43\dbch\af31505\loch\f43 
-Input PE/PE32+ image, or TE image, or MicroCode Txt file, or MicroCode bin file, or hii binary pakcages.
+Input PE/PE32+ image, or TE image, or MicroCode Txt file, or MicroCode bin file, or hii binary packages.
 \par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid8459339 \hich\af43\dbch\af31505\loch\f43 -o FileName, --outputfile FileName
 \par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid8459339 \hich\af43\dbch\af31505\loch\f43 
 The EFI image, TeImage, AcpiImage, MicroBin, hii package lists file or other modified PE image\hich\af43\dbch\af31505\loch\f43  will be created.
diff --git a/BaseTools/building-gcc.txt b/BaseTools/building-gcc.txt
index 2b2cff6058..13b5395f99 100644
--- a/BaseTools/building-gcc.txt
+++ b/BaseTools/building-gcc.txt
@@ -8,8 +8,8 @@ find scripts to help automate the build process.)
 If you do not have a tianocore.org account, you can make use of the 'guest'
 account with an empty password.
 
-In a web browser, you can 'browse' the relavent source at this location:
+In a web browser, you can 'browse' the relevant source at this location:
  http://sourceforge.net/p/edk2-buildtools/code/HEAD/tree/trunk/BaseTools/gcc
 
-Or, with subversion, you can download the relavent source with this command:
+Or, with subversion, you can download the relevant source with this command:
  svn co https://svn.code.sf.net/p/edk2-buildtools/code/trunk/BaseTools/gcc
diff --git a/BaseTools/gcc/mingw-gcc-build.py b/BaseTools/gcc/mingw-gcc-build.py
index 05fdb0932b..92778d1fcb 100755
--- a/BaseTools/gcc/mingw-gcc-build.py
+++ b/BaseTools/gcc/mingw-gcc-build.py
@@ -554,7 +554,7 @@ class App:
         if result:
             print('All files have been downloaded & verified')
         else:
-            print('An error occured while downloading a file')
+            print('An error occurred while downloading a file')
             return
 
         Extracter(sources, config).ExtractAll()
diff --git a/BaseTools/toolsetup.bat b/BaseTools/toolsetup.bat
index 6fe63e4baa..5629bbaa41 100755
--- a/BaseTools/toolsetup.bat
+++ b/BaseTools/toolsetup.bat
@@ -270,7 +270,7 @@ goto check_build_environment
 
 :check_c_tools
   echo.
-  echo !!! ERROR !!! Binary C tools are missing. They are requried to be built from BaseTools Source.
+  echo !!! ERROR !!! Binary C tools are missing. They are required to be built from BaseTools Source.
   echo.
 
 :check_build_environment
diff --git a/BuildNotes2.txt b/BuildNotes2.txt
index 45520536a2..8bf4f6930a 100644
--- a/BuildNotes2.txt
+++ b/BuildNotes2.txt
@@ -138,7 +138,7 @@ Tools in Python
        "<python_source_dir>/build/build.py" directly.
 
 * Convert Python source to exe file
-  The tools written in Python can be coverted into executable program which can
+  The tools written in Python can be converted into executable program which can
   be executed without Python interpreter. One of the conversion tools is called
   cx_Freeze, available at: 
 
diff --git a/Contributions.txt b/Contributions.txt
index f34626912a..14547ebdb7 100644
--- a/Contributions.txt
+++ b/Contributions.txt
@@ -144,7 +144,7 @@ title, and interest in and to Your Contributions.
   of such entity.
 * "Contribution" shall mean any original work of authorship,
   including any modifications or additions to an existing work,
-  that is intentionally submitted by You to the TinaoCore site for
+  that is intentionally submitted by You to the TianoCore site for
   inclusion in, or documentation of, any of the Content. For the
   purposes of this definition, "submitted" means any form of
   electronic, verbal, or written communication sent to the
diff --git a/edksetup.bat b/edksetup.bat
index 57b5a8c868..a493afa7ce 100755
--- a/edksetup.bat
+++ b/edksetup.bat
@@ -89,7 +89,7 @@ if exist %EDK_BASETOOLS% (
 :checkNt32Flag
 if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%
 
-@REM The Nt32 Emluation Platform requires Microsoft Libraries
+@REM The Nt32 Emulation Platform requires Microsoft Libraries
 @REM and headers to interface with Windows.
 if /I "%1"=="--nt32" (
   if /I "%2"=="X64" (
-- 
2.17.2 (Apple Git-113)



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-02-12 13:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-06  7:44 [PATCH] BaseTools: Various typo Antoine Coeur
2019-02-12 13:57 ` Gao, Liming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox