Skip to content

Commit 06def7a

Browse files
authored
Merge pull request MicrosoftDocs#3508 from corob-msft/docs/corob/validation-check
Fix validation check issues.
2 parents 101bdc2 + aff30dc commit 06def7a

11 files changed

+718
-716
lines changed

docs/assembler/masm/masm-bnf-grammar.md

Lines changed: 512 additions & 512 deletions
Large diffs are not rendered by default.

docs/atl/understanding-parse-trees.md

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,49 @@
11
---
2-
description: "Learn more about: Understanding Parse Trees"
2+
description: "Learn more about: Understanding parse trees"
33
title: "ATL Registrar and Parse Trees"
4-
ms.date: "11/04/2016"
4+
ms.date: 04/15/2021
55
helpviewer_keywords: ["parse trees"]
6-
ms.assetid: 668ce2dd-a1c3-4ca0-8135-b25267cb6a85
76
---
8-
# Understanding Parse Trees
7+
# Understanding parse trees
98

109
You can define one or more parse trees in your registrar script, where each parse tree has the following form:
1110

12-
> \<root key>{\<registry expression>}+
11+
> \<root-key>{\<registry expression>}+
1312
1413
where:
1514

16-
> \<root key> ::= HKEY_CLASSES_ROOT \| HKEY_CURRENT_USER \|\
17-
> &emsp;HKEY_LOCAL_MACHINE \| HKEY_USERS \|\
18-
> &emsp;HKEY_PERFORMANCE_DATA \| HKEY_DYN_DATA \|\
19-
> &emsp;HKEY_CURRENT_CONFIG \| HKCR \| HKCU \|\
20-
> &emsp;HKLM \| HKU \| HKPD \| HKDD \| HKCC
21-
22-
> \<registry expression> ::= \<Add Key> \| \<Delete Key>
23-
24-
> \<Add Key> ::= \[**ForceRemove** \| **NoRemove** \| **val**]\<Key Name> [\<Key Value>][{\<Add Key>}]
25-
26-
> \<Delete Key> ::= **Delete**\<Key Name>
27-
28-
> \<Key Name> ::= **'**\<AlphaNumeric>+**'**
29-
30-
> \<AlphaNumeric> ::= *any character not NULL, i.e. ASCII 0*
31-
32-
> \<Key Value> ::= \<Key Type>\<Key Name>
33-
34-
> \<Key Type> ::= **s** \| **d**
35-
36-
> \<Key Value> ::= **'**\<AlphaNumeric>**'**
15+
> *\<root-key>* ::=\
16+
> &emsp;**`HKEY_CLASSES_ROOT`** &vert; **`HKEY_CURRENT_USER`** &vert;\
17+
> &emsp;**`HKEY_LOCAL_MACHINE`** &vert; **`HKEY_USERS`** &vert;\
18+
> &emsp;**`HKEY_PERFORMANCE_DATA`** &vert; **`HKEY_DYN_DATA`** &vert;\
19+
> &emsp;**`HKEY_CURRENT_CONFIG`** &vert; **`HKCR`** &vert; **`HKCU`** &vert;\
20+
> &emsp;**`HKLM`** &vert; **`HKU`** &vert; **`HKPD`** &vert; **`HKDD`** &vert; **`HKCC`**
21+
>
22+
> *\<registry-expression>* ::=\
23+
> &emsp; *\<Add-Key>* &vert; *\<Delete-Key>*
24+
>
25+
> *\<Add-Key>* ::=\
26+
> &emsp; \[**`ForceRemove`** &vert; **`NoRemove`** &vert; **`val`**] *\<Key-Name>* \[*\<Key-Value>*] \[ **`{`** *\<Add-Key>* **`}`** ]
27+
>
28+
> *\<Delete-Key>* ::=\
29+
> &emsp; **`Delete`** *\<Key-Name>*
30+
>
31+
> *\<Key-Name>* ::=\
32+
> &emsp; **`'`***\<AlphaNumeric>*+**`'`**
33+
>
34+
> *\<AlphaNumeric>* ::=\
35+
> &emsp; any non-null character.
36+
>
37+
> *\<Key-Value>* ::=\
38+
> &emsp; *\<Key-Type>* *\<Key-Name>*
39+
>
40+
> *\<Key-Type>* ::=\
41+
> &emsp; **`s`** &vert; **`d`**
3742
3843
> [!NOTE]
39-
> `HKEY_CLASSES_ROOT` and `HKCR` are equivalent; `HKEY_CURRENT_USER` and `HKCU` are equivalent; and so on.
44+
> **`HKEY_CLASSES_ROOT`** and **`HKCR`** are equivalent; **`HKEY_CURRENT_USER`** and **`HKCU`** are equivalent; and so on.
4045
41-
A parse tree can add multiple keys and subkeys to the \<root key>. In doing so, it keeps a subkey's handle open until the parser has completed parsing all of its subkeys. This approach is more efficient than operating on a single key at a time, as seen in the following example:
46+
A parse tree can add multiple keys and subkeys to the \<root-key>. The Registrar keeps each subkey handle open until the parser has completed parsing all of its subkeys. It's more efficient than operating on a single key at a time. Here's an example:
4247

4348
```rgs
4449
HKEY_CLASSES_ROOT
@@ -53,8 +58,8 @@ HKEY_CLASSES_ROOT
5358
}
5459
```
5560

56-
Here, the Registrar initially opens (creates) `HKEY_CLASSES_ROOT\MyVeryOwnKey`. It then sees that `MyVeryOwnKey` has a subkey. Rather than close the key to `MyVeryOwnKey`, the Registrar retains the handle and opens (creates) `HasASubKey` using this parent handle. (The system registry can be slower when no parent handle is open.) Thus, opening `HKEY_CLASSES_ROOT\MyVeryOwnKey` and then opening `HasASubKey` with `MyVeryOwnKey` as the parent is faster than opening `MyVeryOwnKey`, closing `MyVeryOwnKey`, and then opening `MyVeryOwnKey\HasASubKey`.
61+
Here, the Registrar initially opens (creates) `HKEY_CLASSES_ROOT\MyVeryOwnKey`. It then sees that `MyVeryOwnKey` has a subkey. Rather than close the key to `MyVeryOwnKey`, the Registrar keeps the handle and opens (creates) `HasASubKey` using this parent handle. (The system registry can be slower when no parent handle is open.) So, opening `HKEY_CLASSES_ROOT\MyVeryOwnKey` and then opening `HasASubKey` with `MyVeryOwnKey` as the parent is faster than opening `MyVeryOwnKey`, closing `MyVeryOwnKey`, and then opening `MyVeryOwnKey\HasASubKey`.
5762

5863
## See also
5964

60-
[Creating Registrar Scripts](../atl/creating-registrar-scripts.md)
65+
[Creating registrar scripts](../atl/creating-registrar-scripts.md)

docs/build/cmake-presets-vs.md

Lines changed: 64 additions & 57 deletions
Large diffs are not rendered by default.

docs/build/reference/d-preprocessor-definitions.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,36 @@ Defines a preprocessing symbol for a source file.
1212

1313
## Syntax
1414

15-
> **/D**\[ ]_name_\[`=` \| `#` \[{ *string* \| *number* }] ]\
16-
> **/D**\[ ]`"`_name_\[`=` \| `#` \[{ *string* \| *number* }] ]`"`
15+
> **`/D`**\[ ]_name_\[`=` &vert; `#` \[{ *string* &vert; *number* }] ]\
16+
> **`/D`**\[ ]`"`_name_\[`=` &vert; `#` \[{ *string* &vert; *number* }] ]`"`
1717
1818
## Remarks
1919

2020
You can use this symbol together with `#if` or `#ifdef` to compile source code conditionally. The symbol definition remains in effect until it's redefined in the code, or is undefined in the code by an `#undef` directive.
2121

22-
**/D** has the same effect as a `#define` directive at the beginning of a source code file. The difference is that **/D** strips quotation marks on the command line, and a `#define` directive keeps them. You can have whitespace between the **/D** and the symbol. There can't be whitespace between the symbol and the equals sign, or between the equals sign and any value assigned.
22+
**`/D`** has the same effect as a `#define` directive at the beginning of a source code file. The difference is that **`/D`** strips quotation marks on the command line, and a `#define` directive keeps them. You can have whitespace between the **`/D`** and the symbol. There can't be whitespace between the symbol and the equals sign, or between the equals sign and any value assigned.
2323

2424
By default, the value associated with a symbol is 1. For example, `/D name` is equivalent to `/D name=1`. In the example at the end of this article, the definition of `TEST` is shown to print `1`.
2525

2626
Compiling by using `/D name=` causes the symbol *name* to have no associated value. Although the symbol can still be used to conditionally compile code, it otherwise evaluates to nothing. In the example, if you compile by using `/DTEST=`, an error occurs. This behavior resembles the use of `#define` with or without a value.
2727

28-
The **/D** option doesn't support function-like macro definitions. To insert definitions that can't be defined on the command line, consider the [/FI (Name forced include file)](fi-name-forced-include-file.md) compiler option.
28+
The **`/D`** option doesn't support function-like macro definitions. To insert definitions that can't be defined on the command line, consider the [`/FI` (Name forced include file)](fi-name-forced-include-file.md) compiler option.
2929

30-
You can use **/D** multiple times on the command line to define additional symbols. If the same symbol is defined more than once, the last definition is used.
30+
You can use **`/D`** multiple times on the command line to define more symbols. If the same symbol is defined more than once, the last definition is used.
3131

3232
This command defines the symbol DEBUG in TEST.c:
3333

3434
```cmd
3535
CL /DDEBUG TEST.C
3636
```
3737

38-
This command removes all occurrences of the keyword `__far` in TEST.c:
38+
This command removes all occurrences of the keyword **`__far`** in TEST.c:
3939

4040
```cmd
4141
CL /D __far= TEST.C
4242
```
4343

44-
The **CL** environment variable can't be set to a string that contains the equal sign. To use **/D** together with the **CL** environment variable, you must specify the number sign (`#`) instead of the equal sign:
44+
The **CL** environment variable can't be set to a string that contains the equal sign. To use **`/D`** together with the **`CL`** environment variable, you must specify the number sign (`#`) instead of the equal sign:
4545

4646
```cmd
4747
SET CL=/DTEST#0
@@ -57,11 +57,11 @@ CL /DTEST=%% TEST.C
5757

5858
1. Open the project **Property Pages** dialog box. For more information, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
5959

60-
1. In the left pane, select **Configuration Properties**, **C/C++**, **Preprocessor**.
60+
1. Select the **Configuration Properties** > **C/C++** > **Preprocessor** property page.
6161

62-
1. In the right pane, in the right-hand column of the **Preprocessor Definitions** property, open the drop-down menu and choose **Edit**.
62+
1. Open the drop-down menu of the **Preprocessor Definitions** property and choose **Edit**.
6363

64-
1. In the **Preprocessor Definitions** dialog box, add (one per line), modify, or delete one or more definitions. Choose **OK** to save your changes.
64+
1. In the **Preprocessor Definitions** dialog box, add, modify, or delete one or more definitions, one per line. Choose **OK** to save your changes.
6565

6666
You don't need to include the '/D' option prefix on the definitions you specify here. In the property page, definitions are separated by semicolons (`;`).
6767

@@ -92,9 +92,9 @@ TEST defined 1
9292

9393
## See also
9494

95-
[MSVC Compiler Options](compiler-options.md)\
96-
[MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md)\
97-
[/FI (Name forced include file)](fi-name-forced-include-file.md)\
98-
[/U, /u (Undefine Symbols)](u-u-undefine-symbols.md)\
99-
[#undef Directive (C/C++)](../../preprocessor/hash-undef-directive-c-cpp.md)\
100-
[#define Directive (C/C++)](../../preprocessor/hash-define-directive-c-cpp.md)
95+
[MSVC compiler options](compiler-options.md)\
96+
[MSVC compiler command-line syntax](compiler-command-line-syntax.md)\
97+
[`/FI` (Name forced include file)](fi-name-forced-include-file.md)\
98+
[`/U`, `/u` (Undefine Symbols)](u-u-undefine-symbols.md)\
99+
[`#undef` Directive (C/C++)](../../preprocessor/hash-undef-directive-c-cpp.md)\
100+
[`#define` Directive (C/C++)](../../preprocessor/hash-define-directive-c-cpp.md)
Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,42 @@
11
---
2-
title: "/showIncludes (List Include Files)"
3-
ms.date: "11/04/2016"
2+
description: "Learn more about: /showIncludes (List include files)"
3+
title: "/showIncludes (List include files)"
4+
ms.date: 04/15/2021
45
f1_keywords: ["VC.Project.VCCLWCECompilerTool.ShowIncludes", "VC.Project.VCCLCompilerTool.ShowIncludes", "/showincludes"]
56
helpviewer_keywords: ["include files", "/showIncludes compiler option [C++]", "include files, displaying in compilation", "-showIncludes compiler option [C++]", "showIncludes compiler option [C++]"]
6-
ms.assetid: 0b74b052-f594-45a6-a7c7-09e1a319547d
77
---
8-
# /showIncludes (List Include Files)
8+
# `/showIncludes` (List include files)
99

10-
Causes the compiler to output a list of the include files. Nested include files are also displayed (files that are included from the files that you include).
10+
Causes the compiler to output a list of the include files. The option also displays nested include files, that is, the files included by the files that you include.
1111

1212
## Syntax
1313

14-
```
15-
/showIncludes
16-
```
14+
> **`/showIncludes`**
1715
1816
## Remarks
1917

20-
When an include file is encountered during compilation, a message is output, for example:
18+
When the compiler comes to an include file during compilation, a message is output, as in this example:
2119

22-
```
20+
```cmd
2321
Note: including file: d:\MyDir\include\stdio.h
2422
```
2523

26-
Nested include files are indicated by an indentation, one space for each level of nesting, for example:
24+
Nested include files are indicated by an indentation, one space for each level of nesting, as in this example:
2725

28-
```
26+
```cmd
2927
Note: including file: d:\temp\1.h
3028
Note: including file: d:\temp\2.h
3129
```
3230

33-
In this case, `2.h` was included from within `1.h`, hence the indentation.
31+
In this case, *`2.h`* was included from within *`1.h`*, causing the indentation.
3432

35-
The **/showIncludes** option emits to `stderr`, not `stdout`.
33+
The **`/showIncludes`** option emits to `stderr`, not `stdout`.
3634

3735
### To set this compiler option in the Visual Studio development environment
3836

3937
1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
4038

41-
1. Click the **C/C++** folder.
42-
43-
1. Click the **Advanced** property page.
39+
1. Select the **Configuration Properties** > **C/C++** > **Advanced** property page.
4440

4541
1. Modify the **Show Includes** property.
4642

@@ -50,5 +46,5 @@ The **/showIncludes** option emits to `stderr`, not `stdout`.
5046

5147
## See also
5248

53-
[MSVC Compiler Options](compiler-options.md)<br/>
54-
[MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md)
49+
[MSVC compiler options](compiler-options.md)\
50+
[MSVC compiler command-line syntax](compiler-command-line-syntax.md)

docs/c-runtime-library/reference/lseek-lseeki64.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ For more information about these and other error codes, see [_doserrno, errno, _
5050

5151
The **_lseek** function moves the file pointer associated with *fd* to a new location that is *offset* bytes from *origin*. The next operation on the file occurs at the new location. The *origin* argument must be one of the following constants, which are defined in Stdio.h.
5252

53-
|*origin* value||
53+
|*origin* value| Description |
5454
|-|-|
5555
| **SEEK_SET** | Beginning of the file. |
5656
| **SEEK_CUR** | Current position of the file pointer. |

0 commit comments

Comments
 (0)