Skip to content

Commit 211a5a6

Browse files
committed
fix
1 parent 9bf60bb commit 211a5a6

7 files changed

Lines changed: 41 additions & 37 deletions

File tree

csharp/ToolGood.Algorithm/AlgorithmEngine.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,13 @@ private FunctionBase ParseInternal(string exp)
105105
var tokens = new CommonTokenStream(lexer);
106106
var parser = new mathParser(tokens, TextWriter.Null, TextWriter.Null);
107107

108-
var data = new AntlrErrorListener<IToken>();
109-
lexer.RemoveErrorListeners();
110-
lexer.AddErrorListener(data);
111-
parser.RemoveErrorListeners();
112-
parser.AddErrorListener(data);
108+
var data = new AntlrErrorData();
109+
lexer.AddErrorData(data);
110+
parser.AddErrorData(data);
111+
//lexer.RemoveErrorListeners();
112+
//lexer.AddErrorListener(data);
113+
//parser.RemoveErrorListeners();
114+
//parser.AddErrorListener(data);
113115

114116
var context = parser.prog();
115117
if(data.IsError) {

csharp/ToolGood.Algorithm/AlgorithmEngineHelper.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,19 @@ public static class AlgorithmEngineHelper
1919
{
2020
private static readonly Regex unitRegex = new Regex(@"[\s\(\)()\[\]<>]", RegexOptions.Compiled);
2121

22-
internal static mathParser.ProgContext CreateParserContext(string exp, AntlrErrorListener<IToken> data)
22+
internal static mathParser.ProgContext CreateParserContext(string exp, AntlrErrorData data)
2323
{
2424
var stream = new AntlrCharStream(exp);
2525
var lexer = new mathLexer(stream, TextWriter.Null, TextWriter.Null);
2626
var tokens = new CommonTokenStream(lexer);
2727
var parser = new mathParser(tokens, TextWriter.Null, TextWriter.Null);
2828

29-
lexer.RemoveErrorListeners();
30-
lexer.AddErrorListener(data);
31-
parser.RemoveErrorListeners();
32-
parser.AddErrorListener(data);
29+
lexer.AddErrorData(data);
30+
parser.AddErrorData(data);
31+
//lexer.RemoveErrorListeners();
32+
//lexer.AddErrorListener(data);
33+
//parser.RemoveErrorListeners();
34+
//parser.AddErrorListener(data);
3335

3436
return parser.prog();
3537
}
@@ -64,7 +66,7 @@ public static DiyNameInfo GetDiyNames(string exp)
6466
if(string.IsNullOrWhiteSpace(exp)) {
6567
throw new Exception("Parameter exp invalid !");
6668
}
67-
var errorWriter = new AntlrErrorListener<IToken>();
69+
var errorWriter = new AntlrErrorData();
6870
var context = CreateParserContext(exp, errorWriter);
6971
if(errorWriter.IsError) {
7072
throw new Exception(errorWriter.ErrorMsg);
@@ -128,7 +130,7 @@ public static FunctionBase ParseFormula(string exp)
128130
if(string.IsNullOrWhiteSpace(exp)) {
129131
throw new Exception("Parameter exp invalid !");
130132
}
131-
var errorWriter = new AntlrErrorListener<IToken>();
133+
var errorWriter = new AntlrErrorData();
132134
var context = CreateParserContext(exp, errorWriter);
133135
if(errorWriter.IsError) {
134136
throw new Exception(errorWriter.ErrorMsg);
@@ -145,7 +147,7 @@ public static FunctionBase ParseFormula(string exp)
145147
public static bool CheckFormula(string exp)
146148
{
147149
if(string.IsNullOrWhiteSpace(exp)) { return false; }
148-
var errorWriter = new AntlrErrorListener<IToken>();
150+
var errorWriter = new AntlrErrorData();
149151
CreateParserContext(exp, errorWriter);
150152
return !errorWriter.IsError;
151153
}
@@ -164,7 +166,7 @@ public static ConditionTree ParseCondition(string condition)
164166
return tree;
165167
}
166168
try {
167-
var errorWriter = new AntlrErrorListener<IToken>();
169+
var errorWriter = new AntlrErrorData();
168170
var context = CreateParserContext(condition, errorWriter);
169171
if(errorWriter.IsError) {
170172
tree.Type = ConditionTreeType.Error;
@@ -214,7 +216,7 @@ public static CalculateTree ParseCalculate(string exp)
214216
return tree;
215217
}
216218
try {
217-
var errorWriter = new AntlrErrorListener<IToken>();
219+
var errorWriter = new AntlrErrorData();
218220
var context = CreateParserContext(exp, errorWriter);
219221
if(errorWriter.IsError) {
220222
tree.Type = CalculateTreeType.Error;

csharp/ToolGood.Algorithm/Internals/Functions/Operator/Function_AND_N.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public Function_AND_N(FunctionBase[] funcs) : base(funcs)
1111
{
1212
}
1313

14-
public override string Name => "AndN";
14+
public override string Name => "And";
1515

1616
public override Operand Evaluate(AlgorithmEngine engine, Func<AlgorithmEngine, string, Operand> tempParameter)
1717
{

csharp/ToolGood.Algorithm/Internals/Functions/Operator/Function_OR_N.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public Function_OR_N(FunctionBase[] funcs) : base(funcs)
1111
{
1212
}
1313

14-
public override string Name => "OrN";
14+
public override string Name => "Or";
1515

1616
public override Operand Evaluate(AlgorithmEngine engine, Func<AlgorithmEngine, string, Operand> tempParameter)
1717
{

csharp/ToolGood.Algorithm/Internals/Visitors/AntlrErrorData.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
namespace ToolGood.Algorithm.Internals.Visitors
55
{
66

7-
internal class AntlrErrorData : IAntlrErrorListener<int>
7+
internal sealed class AntlrErrorData //: IAntlrErrorListener<int>
88
{
99
public bool IsError { get; set; }
1010
public string ErrorMsg { get; set; }
1111

12-
public void SyntaxError(TextWriter output, IRecognizer recognizer, int offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e)
13-
{
14-
IsError = true;
15-
ErrorMsg = msg;
16-
}
12+
//public void SyntaxError(TextWriter output, IRecognizer recognizer, int offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e)
13+
//{
14+
// IsError = true;
15+
// ErrorMsg = msg;
16+
//}
1717
}
1818
}
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
using Antlr4.Runtime;
2-
using System.IO;
1+
//using Antlr4.Runtime;
2+
//using System.IO;
33

4-
namespace ToolGood.Algorithm.Internals.Visitors
5-
{
6-
internal class AntlrErrorListener<T> : AntlrErrorData ,IAntlrErrorListener<T>
7-
{
8-
public void SyntaxError(TextWriter output, IRecognizer recognizer, T offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e)
9-
{
10-
IsError = true;
11-
ErrorMsg = msg;
12-
}
13-
}
14-
}
4+
//namespace ToolGood.Algorithm.Internals.Visitors
5+
//{
6+
// internal class AntlrErrorListener<T> : AntlrErrorData ,IAntlrErrorListener<T>
7+
// {
8+
// public void SyntaxError(TextWriter output, IRecognizer recognizer, T offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e)
9+
// {
10+
// IsError = true;
11+
// ErrorMsg = msg;
12+
// }
13+
// }
14+
//}

csharp/ToolGood.Algorithm/ToolGood.Algorithm.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<Product>ToolGood.Algorithm</Product>
2020
<PackageLicenseFile>LICENSE.md</PackageLicenseFile>
2121
<SignAssembly>true</SignAssembly>
22-
<Version>6.2.5.25</Version>
22+
<Version>6.2.5.26</Version>
2323
<AssemblyOriginatorKeyFile>ToolGood.Algorithm.snk</AssemblyOriginatorKeyFile>
2424
<DelaySign>false</DelaySign>
2525
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\ToolGood.Algorithm.xml</DocumentationFile>

0 commit comments

Comments
 (0)