Skip to content

Commit 69f6396

Browse files
committed
feat: general improvements and minor bugs
1 parent 00fbdd9 commit 69f6396

3 files changed

Lines changed: 40 additions & 0 deletions

File tree

src/WebExpress.WebIndex/Wql/IWqlParser.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ namespace WebExpress.WebIndex.Wql
1010
public interface IWqlParser<TIndexItem>
1111
where TIndexItem : IIndexItem
1212
{
13+
/// <summary>
14+
/// Performs an incremental lookahead analysis (ILA) over the given
15+
/// wql input. The method determines which portion of the input is syntactically
16+
/// valid so far and which tokens would be permissible at the current position.
17+
/// </summary>
18+
/// <param name="input">The input WQL string.</param>
19+
/// <returns>
20+
/// An lookahead object that contains the results of the analysis, including
21+
/// valid tokens and expected next tokens.
22+
/// </returns>
23+
IWqlLookahead Analyze(string input);
24+
1325
/// <summary>
1426
/// Parses a given wql query.
1527
/// </summary>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,35 @@
11
namespace WebExpress.WebIndex.Wql
22
{
3+
/// <summary>
4+
/// Specifies the types of expressions that can be used in a WQL
5+
/// (WebExpress Query Language) query.
6+
/// </summary>
37
public enum WqlExpressionType
48
{
9+
/// <summary>
10+
/// Represents a value that indicates no value or an absence of data.
11+
/// </summary>
512
None,
13+
14+
/// <summary>
15+
/// Represents an attribute that can be applied to program entities to provide metadata.
16+
/// </summary>
617
Attribute,
18+
19+
/// <summary>
20+
/// Specifies the logical operators that can be used to combine boolean expressions.
21+
/// </summary>
722
LogicalOperator,
23+
24+
/// <summary>
25+
/// Defines a custom operator for the type, enabling user-defined behavior for
26+
/// operations such as addition, subtraction, or comparison.
27+
/// </summary>
828
Operator,
29+
30+
/// <summary>
31+
/// Represents a parameter that can be used in various contexts.
32+
/// </summary>
933
Parameter
1034
}
1135
}

src/WebExpress.WebIndex/Wql/WqlParser.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ internal WqlParser(IIndexDocument<TIndexItem> indexFiled)
121121
/// valid so far and which tokens would be permissible at the current position.
122122
/// </summary>
123123
/// <param name="input">The input WQL string.</param>
124+
/// <returns>
125+
/// An lookahead object that contains the results of the analysis, including
126+
/// valid tokens and expected next tokens.
127+
/// </returns>
124128
public IWqlLookahead Analyze(string input)
125129
{
126130
var ilaQueue = new Queue<WqlLookaheadToken>();

0 commit comments

Comments
 (0)