public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: Antoine Coeur <Coeur@gmx.fr>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH] BaseTools: Various typo
Date: Tue, 12 Feb 2019 13:57:31 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E3DBCBF@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <trinity-eb24d525-a7dc-427f-830e-98cf20ad3188-1549439078693@3c-app-gmx-bs19>

Thanks for your great effort to correct them all in BaseTools source files. 

The change is good. Reviewed-by: Liming Gao <liming.gao@intel.com>

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Antoine Coeur
> Sent: Wednesday, February 6, 2019 3:45 PM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [PATCH] BaseTools: Various typo
> 
> 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)
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel

      reply	other threads:[~2019-02-12 13:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-06  7:44 [PATCH] BaseTools: Various typo Antoine Coeur
2019-02-12 13:57 ` Gao, Liming [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A89E2EF3DFEDB4C8BFDE51014F606A14E3DBCBF@SHSMSX104.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox