Skip to content

Commit c287954

Browse files
Merge pull request #167 from SpiceSharp/alpha_&_omega
Add support for Alpha_&_Omega const (LTSpice support)
2 parents bf21d75 + b6de01f commit c287954

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

src/SpiceSharpParser/Lexers/Expressions/Lexer.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,15 @@ public void Next()
198198
number >= 'A' && number <= 'Z'))
199199
Continue();
200200
break;
201-
case char letter when letter >= 'a' && letter <= 'z' || letter >= 'A' && letter <= 'Z' || letter == '_':
201+
case char letter when letter >= 'a' && letter <= 'z' || letter >= 'A' && letter <= 'Z':
202202
Type = TokenType.Identifier;
203203
Continue();
204204
while ((Index < _expression.Length) && ((
205205
letter = _expression[Index]) >= 'a' && letter <= 'z' ||
206206
letter >= 'A' && letter <= 'Z' ||
207207
letter >= '0' && letter <= '9' ||
208-
letter == '_'))
208+
letter == '_' ||
209+
letter == '&'))
209210
Continue();
210211
break;
211212

src/SpiceSharpParser/Lexers/Netlist/Spice/SpiceLexer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private void BuildGrammar()
6060
{
6161
var builder = new LexerGrammarBuilder<SpiceLexerState>();
6262
builder.AddRegexRule(new LexerInternalRule("LETTER", "[a-zA-Zµ]"));
63-
builder.AddRegexRule(new LexerInternalRule("CHARACTER", @"[a-zA-Z0-9\-\+§µ]"));
63+
builder.AddRegexRule(new LexerInternalRule("CHARACTER", @"[a-zA-Z0-9\-\+§µ_&]"));
6464
builder.AddRegexRule(new LexerInternalRule("DIGIT", "[0-9]"));
6565
builder.AddRegexRule(new LexerInternalRule("SPECIAL", @"[\/\\_\.:%!\#\-;\<\>\^\*\[\]]"));
6666
builder.AddRegexRule(new LexerTokenRule<SpiceLexerState>(

src/SpiceSharpParser/ModelReaders/Netlist/Spice/Evaluation/SpiceEvaluationContext.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ private void CreateSpiceParameters()
7979
Parameters.Add("c", new ConstantExpression(299792500));
8080
Parameters.Add("boltz", new ConstantExpression(1.38062e-23));
8181
Parameters.Add("NaN", new ConstantExpression(double.NaN));
82+
Parameters.Add("Alpha_&_Omega", new ConstantExpression(double.PositiveInfinity));
8283
}
8384
}
8485
}

0 commit comments

Comments
 (0)