Skip to content

Commit

Permalink
RegexNode cleanup
Browse files Browse the repository at this point in the history
No functional changes, just code cleanup:
- Move node types into a RegexNodeKind enum
- Rename some of the kinds to make them more descriptive
- Rename node.Next to node.Parent to better describe its purpose
- Add a bunch of comments about node kinds
  • Loading branch information
stephentoub committed Jan 20, 2022
1 parent 3e6eda6 commit 4f55002
Show file tree
Hide file tree
Showing 28 changed files with 1,252 additions and 1,244 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -289,9 +289,6 @@
<data name="AlternationHasUndefinedReferenceNoPlaceholder" xml:space="preserve">
<value>Alternation has a reference to undefined group.</value>
</data>
<data name="UnexpectedOpcode" xml:space="preserve">
<value>Unexpected opcode in regular expression generation: {0}.</value>
</data>
<data name="UnrecognizedUnicodeProperty" xml:space="preserve">
<value>Unknown property '{0}'.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">Znak \\ na konci vzorku je neplatný.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Při generování regulárního výrazu byl nalezen neočekávaný operační kód: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Nerozpoznaný řídicí znak.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">Unzulässiger \\ am Ende des Musters.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Unerwarteter "opcode" bei Generierung von regulärem Ausdruck: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Unbekanntes Steuerzeichen.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">\\ no válido al final del patrón.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Código de operación inesperado en la generación de expresión regular: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Carácter de control no reconocido.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">\\ non conforme à la fin du modèle.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">opcode inattendu dans la génération d'expressions régulières : {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Caractère de contrôle non reconnu.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">Carattere \\ non valido alla fine del criterio.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Codice operativo imprevisto nella generazione dell'espressione regolare: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Carattere di controllo non riconosciuto.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">パターンの末尾に無効な \\ があります。</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">正規表現の生成中に予期しない Opcode: {0} が発生しました。</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">認識されない制御文字です。</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">패턴 끝에 잘못된 \\가 있습니다.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">정규식 생성에 예기치 않은 opcode가 있습니다. {0}</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">인식할 수 없는 제어 문자입니다.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">Niedozwolony znak \\ na końcu wzorca.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Nieoczekiwany kod operacji podczas generowania wyrażenia regularnego: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Nierozpoznany znak kontrolny.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">\\ incorreto no final do padrão.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Opcode inesperado na geração de expressão regular: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Caractere de controle não reconhecido.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">Недопустимая обратная косая черта \\ в конце образца.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Неожиданный код операции при создании регулярного выражения: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Нераспознанный управляющий знак.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">Desenin sonunda geçersiz \\.</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">Normal ifade oluşturmada beklenmeyen işlem kodu: {0}.</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">Tanınmayan denetim karakteri.</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">\\ 在模式末尾非法。</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">生成正则表达式时出现意外的操作码: {0}。</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">无法识别的控制字符。</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,6 @@
<target state="translated">模式結尾有不合法的 \\。</target>
<note />
</trans-unit>
<trans-unit id="UnexpectedOpcode">
<source>Unexpected opcode in regular expression generation: {0}.</source>
<target state="translated">在規則運算式產生中發生未預期的作業碼: {0}。</target>
<note />
</trans-unit>
<trans-unit id="UnrecognizedControlCharacter">
<source>Unrecognized control character.</source>
<target state="translated">無法識別的控制字元。</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
<Compile Include="..\src\System\Text\RegularExpressions\RegexCode.cs" Link="Production\RegexCode.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexFindOptimizations.cs" Link="Production\RegexFindOptimizations.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexNode.cs" Link="Production\RegexNode.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexNodeKind.cs" Link="Production\RegexNodeKind.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexOptions.cs" Link="Production\RegexOptions.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexParseError.cs" Link="Production\RegexParseError.cs" />
<Compile Include="..\src\System\Text\RegularExpressions\RegexParseException.cs" Link="Production\RegexParseException.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,9 +200,6 @@
<data name="AlternationHasUndefinedReferenceNoPlaceholder" xml:space="preserve">
<value>Alternation has a reference to undefined group.</value>
</data>
<data name="UnexpectedOpcode" xml:space="preserve">
<value>Unexpected opcode in regular expression generation: {0}.</value>
</data>
<data name="UnrecognizedUnicodeProperty" xml:space="preserve">
<value>Unknown property '{0}'.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<Compile Include="System\Text\RegularExpressions\RegexInterpreter.cs" />
<Compile Include="System\Text\RegularExpressions\RegexMatchTimeoutException.cs" />
<Compile Include="System\Text\RegularExpressions\RegexNode.cs" />
<Compile Include="System\Text\RegularExpressions\RegexNodeKind.cs" />
<Compile Include="System\Text\RegularExpressions\RegexOptions.cs" />
<Compile Include="System\Text\RegularExpressions\RegexParseError.cs" />
<Compile Include="System\Text\RegularExpressions\RegexParseException.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,8 @@ public static int OpcodeSize(int opcode)
return 3;

default:
throw new ArgumentException(SR.Format(SR.UnexpectedOpcode, opcode.ToString()));
Debug.Fail($"Unexpected opcode: {opcode}");
return 0;
}
}

Expand Down
Loading

0 comments on commit 4f55002

Please sign in to comment.