Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

Commit 536e604

Browse files
committed
add brackets to tokenizer
1 parent d316575 commit 536e604

File tree

5 files changed

+29
-19
lines changed

5 files changed

+29
-19
lines changed

SourcepawnCondenser/CondenserTest/MainWindow.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<ColumnDefinition />
1313
<ColumnDefinition />
1414
</Grid.ColumnDefinitions>
15-
<TextBox Name="textBox" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AcceptsReturn="True" AcceptsTab="True" TextChanged="TextBox_TextChanged" Margin="0,0,0,25" SelectionChanged="CaretPositionChangedEvent" />
15+
<TextBox Name="textBox" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" FontSize="16" AcceptsReturn="True" AcceptsTab="True" TextChanged="TextBox_TextChanged" Margin="0,0,0,25" SelectionChanged="CaretPositionChangedEvent" />
1616
<Label Name="CaretLabel" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Bottom" Content="0 / 0" />
1717
<ScrollViewer Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
1818
<StackPanel Name="tokenStack" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Orientation="Vertical" />

SourcepawnCondenser/CondenserTest/MainWindow.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,8 @@ private static Brush ChooseBackgroundFromTokenKind(TokenKind kind)
365365
{
366366
TokenKind.BraceClose or
367367
TokenKind.BraceOpen => Brushes.LightGray,
368+
TokenKind.BracketOpen or
369+
TokenKind.BracketClose => Brushes.DarkKhaki,
368370
TokenKind.Character => Brushes.LightSalmon,
369371
TokenKind.EOF => Brushes.LimeGreen,
370372
TokenKind.Identifier => Brushes.LightSteelBlue,

SourcepawnCondenser/SourcepawnCondenser/Tokenizer/Token.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
public class Token
44
{
5-
public Token(string Value_, TokenKind Kind_, int Index_)
5+
public Token(string value, TokenKind kind, int index)
66
{
7-
Value = Value_;
8-
Kind = Kind_;
9-
Index = Index_;
10-
Length = Value_.Length;
7+
Value = value;
8+
Kind = kind;
9+
Index = index;
10+
Length = value.Length;
1111
}
12-
public Token(char Value_, TokenKind Kind_, int Index_)
12+
public Token(char value, TokenKind kind, int index)
1313
{
14-
Value = Value_.ToString();
15-
Kind = Kind_;
16-
Index = Index_;
14+
Value = value.ToString();
15+
Kind = kind;
16+
Index = index;
1717
Length = 1;
1818
}
1919
public string Value;

SourcepawnCondenser/SourcepawnCondenser/Tokenizer/TokenKind.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ public enum TokenKind
77
Character, //d
88
BraceOpen, //d
99
BraceClose, //d
10+
BracketOpen,
11+
BracketClose,
1012
ParenthesisOpen, //d
1113
ParenthesisClose, //d
1214
Quote, //d

SourcepawnCondenser/SourcepawnCondenser/Tokenizer/Tokenizer.cs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,31 @@ public static List<Token> TokenizeString(string source, bool ignoreMultipleEOL)
5757
continue;
5858
}
5959
case '{':
60-
token.Add(new Token("{", TokenKind.BraceOpen, i));
60+
token.Add(new Token(c, TokenKind.BraceOpen, i));
6161
continue;
6262
case '}':
63-
token.Add(new Token("}", TokenKind.BraceClose, i));
63+
token.Add(new Token(c, TokenKind.BraceClose, i));
64+
continue;
65+
case '[':
66+
token.Add(new Token(c, TokenKind.BracketOpen, i));
67+
continue;
68+
case ']':
69+
token.Add(new Token(c, TokenKind.BracketClose, i));
6470
continue;
6571
case '(':
66-
token.Add(new Token("(", TokenKind.ParenthesisOpen, i));
72+
token.Add(new Token(c, TokenKind.ParenthesisOpen, i));
6773
continue;
6874
case ')':
69-
token.Add(new Token(")", TokenKind.ParenthesisClose, i));
75+
token.Add(new Token(c, TokenKind.ParenthesisClose, i));
7076
continue;
7177
case ';':
72-
token.Add(new Token(";", TokenKind.Semicolon, i));
78+
token.Add(new Token(c, TokenKind.Semicolon, i));
7379
continue;
7480
case ',':
75-
token.Add(new Token(",", TokenKind.Comma, i));
81+
token.Add(new Token(c, TokenKind.Comma, i));
7682
continue;
7783
case '=':
78-
token.Add(new Token("=", TokenKind.Assignment, i));
84+
token.Add(new Token(c, TokenKind.Assignment, i));
7985
continue;
8086
case '/':
8187
{
@@ -482,8 +488,8 @@ public static List<Token> TokenizeString(string source, bool ignoreMultipleEOL)
482488
}
483489

484490
token.Add(new Token("", TokenKind.EOF, sArrayLength));
485-
486-
491+
492+
487493
return token;
488494
}
489495

0 commit comments

Comments
 (0)