fix a few error
This commit is contained in:
parent
4f6d0fdf5b
commit
8603cfe3d8
|
|
@ -111,7 +111,7 @@ public static class ExpressionParser
|
||||||
digester.EmitDynamic(OpCode.Array, length); // digester.MakeConstant(new Value((long)length)));
|
digester.EmitDynamic(OpCode.Array, length); // digester.MakeConstant(new Value((long)length)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ArrayAdd(Digester digester, bool canAssign)
|
static void AddItem(Digester digester, bool canAssign)
|
||||||
{
|
{
|
||||||
digester.ParseExpression();
|
digester.ParseExpression();
|
||||||
digester.Emit(OpCode.AddItem);
|
digester.Emit(OpCode.AddItem);
|
||||||
|
|
@ -254,7 +254,7 @@ public static class ExpressionParser
|
||||||
_rules[TokenType.ContextClose] = new Rule(null, null, Weight.None);
|
_rules[TokenType.ContextClose] = new Rule(null, null, Weight.None);
|
||||||
_rules[TokenType.ArrayOpen] = new Rule(Array, Accessor, Weight.Call);
|
_rules[TokenType.ArrayOpen] = new Rule(Array, Accessor, Weight.Call);
|
||||||
_rules[TokenType.ArrayClose] = new Rule(null, null, Weight.None);
|
_rules[TokenType.ArrayClose] = new Rule(null, null, Weight.None);
|
||||||
_rules[TokenType.AddItem] = new Rule(null, ArrayAdd, Weight.None);
|
_rules[TokenType.AddItem] = new Rule(null, AddItem, Weight.None);
|
||||||
_rules[TokenType.RemoveItem] = new Rule(null, null, Weight.None);
|
_rules[TokenType.RemoveItem] = new Rule(null, null, Weight.None);
|
||||||
_rules[TokenType.Colon] = new Rule(null, Dot, Weight.Call);
|
_rules[TokenType.Colon] = new Rule(null, Dot, Weight.Call);
|
||||||
_rules[TokenType.Comma] = new Rule(null, null, Weight.None);
|
_rules[TokenType.Comma] = new Rule(null, null, Weight.None);
|
||||||
|
|
|
||||||
|
|
@ -279,7 +279,7 @@ public class Reader : IReader<Token>, IDisposable
|
||||||
';' => MakeToken(Semicolon, buffer),
|
';' => MakeToken(Semicolon, buffer),
|
||||||
':' => Check(':') ?
|
':' => Check(':') ?
|
||||||
MakeToken(Print, buffer + Next()) :
|
MakeToken(Print, buffer + Next()) :
|
||||||
Check('(') ?
|
Check('[') ?
|
||||||
MakeToken(ListOpen, buffer + Next()) :
|
MakeToken(ListOpen, buffer + Next()) :
|
||||||
MakeToken(Colon, buffer),
|
MakeToken(Colon, buffer),
|
||||||
'&' => Check('&') ?
|
'&' => Check('&') ?
|
||||||
|
|
@ -328,6 +328,8 @@ public class Reader : IReader<Token>, IDisposable
|
||||||
MakeToken(BitwiseLeft, buffer + Next()) :
|
MakeToken(BitwiseLeft, buffer + Next()) :
|
||||||
Check('=') ?
|
Check('=') ?
|
||||||
MakeToken(LessEqual, buffer + Next()) :
|
MakeToken(LessEqual, buffer + Next()) :
|
||||||
|
Check('>') ?
|
||||||
|
MakeToken(TernaryElse, buffer + Next()) :
|
||||||
MakeToken(Less, buffer),
|
MakeToken(Less, buffer),
|
||||||
'>' => Check('>') ?
|
'>' => Check('>') ?
|
||||||
MakeToken(BitwiseRight, buffer + Next()) :
|
MakeToken(BitwiseRight, buffer + Next()) :
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ public enum TokenType
|
||||||
While,
|
While,
|
||||||
Do,
|
Do,
|
||||||
Return,
|
Return,
|
||||||
|
TernaryElse,
|
||||||
|
|
||||||
Ref,
|
Ref,
|
||||||
Function,
|
Function,
|
||||||
|
|
@ -103,7 +104,7 @@ public enum TokenType
|
||||||
public static class TokenTypeExtensions
|
public static class TokenTypeExtensions
|
||||||
{
|
{
|
||||||
public static bool IsBracket(this TokenType type)
|
public static bool IsBracket(this TokenType type)
|
||||||
=> type is GroupClose or GroupOpen or ContextClose or ContextOpen or ArrayClose or ArrayOpen;
|
=> type is GroupClose or GroupOpen or ContextClose or ContextOpen or ArrayClose or ArrayOpen or ListOpen;
|
||||||
|
|
||||||
public static bool IsString(this TokenType type)
|
public static bool IsString(this TokenType type)
|
||||||
=> type is TokenType.String;
|
=> type is TokenType.String;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue