Skip to content

Commit d27cb92

Browse files
committed
#201 - update lex
1 parent b5feaa9 commit d27cb92

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

src/Domain/HydraScript.Domain.Constants/TokenTypes.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static IEnumerable<Dto> Stream
2626

2727
yield return new(
2828
Tag: "Ident",
29-
Pattern: "[a-zA-Z][a-zA-Z0-9]*",
29+
Pattern: "[a-zA-Z][a-zA-Z0-9_]*",
3030
Priority: 50);
3131

3232
yield return new(
@@ -69,7 +69,7 @@ public static IEnumerable<Dto> Stream
6969

7070
yield return new(
7171
Tag: "Operator",
72-
Pattern: "[+]{1,2}|[-]|[*]|[/]|[%]|([!]|[=])[=]|([<]|[>])[=]?|[!]|[|]{2}|[&]{2}|[~]|[:]{2}",
72+
Pattern: "[+]{1,2}|[-]|[*]|[/]|[%]|([!]|[=])[=]|([<]|[>])[=]?|[!]|[|]{2}|[&]{2}|[~]|[:]{2}|[$]",
7373
Priority: 13);
7474

7575
yield return new(

src/Domain/HydraScript.Domain.FrontEnd/Parser/grammar.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ EqExpression -> RelExpression (('=='|'!=') RelExpression)*
4141
RelExpression -> AddExpression (('<'|'>'|'<='|'>=') AddExpression)*
4242
AddExpression -> MulExpression (('+'|'-') MulExpression)*
4343
MulExpression -> UnaryExpression (('*'|'/'|'%'|'++'|'::') UnaryExpression)*
44-
UnaryExpression -> LeftHandSideExpression | ('-'|'!'|'~') UnaryExpression
44+
UnaryExpression -> LeftHandSideExpression | ('-'|'!'|'~'|'$') UnaryExpression
4545

4646
PrimaryExpression -> "Ident" | Literal | '(' Expression ')' | ObjectLiteral | ArrayLiteral
4747
Literal -> "NullLiteral"

tests/HydraScript.UnitTests/Domain/FrontEnd/LexerData.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public sealed class LexerFailData : TheoryData<string>
1414
{
1515
public LexerFailData()
1616
{
17-
Add("a + v $$$");
17+
Add("a + v ```");
1818
Add("kkk &");
1919
Add("|| |");
2020
}

0 commit comments

Comments
 (0)