Skip to content

Commit 01d05a7

Browse files
committed
Updated llex to generate GetAllTokens method.
1 parent a5739fb commit 01d05a7

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

LLex/LexerGenerator.cs

+1
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ public string Generate()
200200

201201
return s
202202
.Replace("{Body}", Properties.Resources.AddTokenTemplate)
203+
.Replace("{AllBody}", Properties.Resources.AddTokenTemplate)
203204
.Replace("PreviousChar();", "charIndex--;");
204205
}
205206
}

LLex/Resources/LexicalAnalyzerTemplate.cs

+20
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,26 @@ bool NextChar()
112112

113113
return tokens;
114114
}
115+
116+
public List<{Token}> GetAllTokens()
117+
{
118+
charIndex = -1;
119+
120+
{TokenType} tokenType;
121+
122+
int lastIndex = -1;
123+
124+
var tokens = new List<{Token}>();
125+
126+
while ((tokenType = GetToken()) != {TokenType}.EndOfFile)
127+
{
128+
{AllBody}
129+
130+
lastIndex = charIndex;
131+
}
132+
133+
return tokens;
134+
}
115135
}
116136
}
117137
#pragma warning restore 0162

0 commit comments

Comments
 (0)