b3b00 / csly

a C# embeddable lexer and parser generator (.Net core)
MIT License
368 stars 33 forks source link

optimize token channels management #433

Closed b3b00 closed 5 months ago

codesandbox[bot] commented 5 months ago

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders
Open Preview

sonarcloud[bot] commented 5 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

github-actions[bot] commented 5 months ago
# Summary
Generated on: 04/17/2024 - 16:27:03
Parser: LCovParser
Assemblies: 1
Classes: 108
Files: 108
Covered lines: 5951
Uncovered lines: 630
Coverable lines: 6581
Total lines: 11084
Line coverage: 90.4% (5951 of 6581)
Covered branches: 1919
Total branches: 2274
Branch coverage: 84.3% (1919 of 2274)
Tag: 844_8725397120
Name Covered Uncovered Coverable Total Line coverage Covered Total Branch coverage
Default 5951 630 6581 11084 90.4% 1919 2274 84.3%
/home/runner/work/csly/csly/src/sly/buildresult/BuildResult.cs 20 0 20 65 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/buildresult/InitializationError.cs 9 0 9 18 100% 0 0
/home/runner/work/csly/csly/src/sly/buildresult/LexerInitializationError.cs 3 0 3 9 100% 0 0
/home/runner/work/csly/csly/src/sly/buildresult/ParserInitializationError.cs 3 0 3 9 100% 0 0
/home/runner/work/csly/csly/src/sly/EnumConverter.cs 13 3 16 35 81.2% 2 4 50%
/home/runner/work/csly/csly/src/sly/i18n/I18N.cs 44 0 44 73 100% 15 16 93.7%
/home/runner/work/csly/csly/src/sly/i18n/LexemeLabelAttribute.cs 7 0 7 19 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/AlphaIdAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/AlphaNumDashIdAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/AlphaNumIdAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/CallBacksAttribute.cs 5 0 5 16 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/CharAttribute.cs 0 3 3 9 0% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/CommentsAttribute.cs 11 0 11 29 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/CustomIdAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/DateAttribute.cs 4 0 4 16 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/DoubleAttribute.cs 4 0 4 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/ExtensionAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/IntAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/KeywordAttribute.cs 3 0 3 10 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/LexemeAttribute.cs 53 1 54 91 98.1% 11 14 78.5%
/home/runner/work/csly/csly/src/sly/lexer/attributes/ModeAttribute.cs 9 0 9 23 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/ModesAttribute.cs 0 5 5 19 0% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/MultiLineCommentAttribute.cs 2 0 2 11 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/PopAttribute.cs 3 0 3 12 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/PushAttribute.cs 5 0 5 15 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/SingleLineCommentAttribute.cs 2 0 2 11 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/StringAttribute.cs 3 0 3 9 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/SugarAttribute.cs 6 0 6 15 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/attributes/UpToAttribute.cs 3 0 3 9 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/CallBacksBuilder.cs 24 0 24 42 100% 8 8 100%
/home/runner/work/csly/csly/src/sly/lexer/fsm/EOLManager.cs 54 0 54 79 100% 18 20 90%
/home/runner/work/csly/csly/src/sly/lexer/fsm/FSMLexer.cs 291 24 315 491 92.3% 84 92 91.3%
/home/runner/work/csly/csly/src/sly/lexer/fsm/FSMLexerBuilder.cs 257 119 376 589 68.3% 58 88 65.9%
/home/runner/work/csly/csly/src/sly/lexer/fsm/FSMMatch.cs 69 0 69 110 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/lexer/fsm/FSMNode.cs 17 0 17 32 100% 4 6 66.6%
/home/runner/work/csly/csly/src/sly/lexer/fsm/FSMTransition.cs 16 0 16 43 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/AbstractTransitionCheck.cs 7 0 7 38 100% 4 4 100%
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/TransitionAny.cs 0 10 10 28 0% 0 0
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/TransitionAnyExcept.cs 11 6 17 43 64.7% 0 0
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/TransitionMany.cs 7 5 12 36 58.3% 0 0
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/TransitionMultiRange.cs 19 0 19 63 100% 7 8 87.5%
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/TransitionRange.cs 8 6 14 39 57.1% 2 2 100%
/home/runner/work/csly/csly/src/sly/lexer/fsm/transitioncheck/TransitionSingle.cs 12 0 12 35 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/GenericLexer.cs 793 45 838 1136 94.6% 216 236 91.5%
/home/runner/work/csly/csly/src/sly/lexer/IndentationError.cs 7 0 7 19 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/Lexer.cs 58 3 61 105 95% 15 16 93.7%
/home/runner/work/csly/csly/src/sly/lexer/LexerAttribute.cs 11 0 11 48 100% 8 8 100%
/home/runner/work/csly/csly/src/sly/lexer/LexerBuilder.cs 555 18 573 762 96.8% 258 278 92.8%
/home/runner/work/csly/csly/src/sly/lexer/LexerPosition.cs 35 0 35 82 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/LexerResult.cs 18 7 25 46 72% 0 2 0%
/home/runner/work/csly/csly/src/sly/lexer/LexicalError.cs 9 1 10 30 90% 0 0
/home/runner/work/csly/csly/src/sly/lexer/Token.cs 148 14 162 356 91.3% 38 46 82.6%
/home/runner/work/csly/csly/src/sly/lexer/TokenCallbackAttribute.cs 5 0 5 14 100% 0 0
/home/runner/work/csly/csly/src/sly/lexer/TokenChannel.cs 37 2 39 85 94.8% 21 24 87.5%
/home/runner/work/csly/csly/src/sly/lexer/TokenChannels.cs 64 10 74 132 86.4% 25 30 83.3%
/home/runner/work/csly/csly/src/sly/lexer/TokenDefinition.cs 13 0 13 45 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/EBNFParserBuilder.cs 97 18 115 183 84.3% 25 32 78.1%
/home/runner/work/csly/csly/src/sly/parser/generator/ExpressionRulesGenerator.cs 274 6 280 366 97.8% 94 98 95.9%
/home/runner/work/csly/csly/src/sly/parser/generator/InfixAttribute.cs 6 0 6 13 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/LeftRecursionChecker.cs 95 0 95 149 100% 42 42 100%
/home/runner/work/csly/csly/src/sly/parser/generator/NonTerminal.cs 12 0 12 47 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/parser/generator/OperationAttribute.cs 25 0 25 67 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/OperationMetaData.cs 26 0 26 52 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/parser/generator/ParserBuilder.cs 448 38 486 711 92.1% 208 224 92.8%
/home/runner/work/csly/csly/src/sly/parser/generator/ParserConfiguration.cs 37 2 39 72 94.8% 25 26 96.1%
/home/runner/work/csly/csly/src/sly/parser/generator/ParserConfigurationException.cs 3 0 3 11 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/ParserRootAttribute.cs 5 0 5 18 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/PostfixAttribute.cs 6 0 6 13 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/PrefixAttribute.cs 6 0 6 13 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/ProductionAttribute.cs 5 0 5 15 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/generator/RuleParser.cs 135 8 143 282 94.4% 14 14 100%
/home/runner/work/csly/csly/src/sly/parser/generator/visitor/ConcreteSyntaxTreeWalker.cs 34 24 58 111 58.6% 17 30 56.6%
/home/runner/work/csly/csly/src/sly/parser/generator/visitor/dotgraph/DotArrow.cs 20 1 21 39 95.2% 2 4 50%
/home/runner/work/csly/csly/src/sly/parser/generator/visitor/dotgraph/DotGraph.cs 55 2 57 92 96.4% 14 20 70%
/home/runner/work/csly/csly/src/sly/parser/generator/visitor/dotgraph/DotNode.cs 30 0 30 48 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/parser/generator/visitor/EBNFSyntaxTreeVisitor.cs 138 8 146 211 94.5% 71 78 91%
/home/runner/work/csly/csly/src/sly/parser/generator/visitor/SyntaxTreeVisitor.cs 129 12 141 233 91.4% 22 38 57.8%
/home/runner/work/csly/csly/src/sly/parser/parser/Group.cs 27 1 28 75 96.4% 2 4 50%
/home/runner/work/csly/csly/src/sly/parser/parser/GroupItem.cs 20 1 21 60 95.2% 1 2 50%
/home/runner/work/csly/csly/src/sly/parser/parser/llparser/EBNFRecursiveDescentSyntaxParser.cs 391 46 437 608 89.4% 171 220 77.7%
/home/runner/work/csly/csly/src/sly/parser/parser/llparser/EBNFRecursiveDescentSyntaxParserStarter.cs 101 19 120 217 84.1% 54 62 87%
/home/runner/work/csly/csly/src/sly/parser/parser/llparser/RecursiveDescentSyntaxParser.cs 324 4 328 447 98.7% 137 146 93.8%
/home/runner/work/csly/csly/src/sly/parser/parser/llparser/RecursiveDescentSyntaxParserStarter.cs 109 5 114 176 95.6% 42 42 100%
/home/runner/work/csly/csly/src/sly/parser/parser/ParseError.cs 15 1 16 42 93.7% 8 8 100%
/home/runner/work/csly/csly/src/sly/parser/parser/Parser.cs 103 3 106 160 97.1% 35 38 92.1%
/home/runner/work/csly/csly/src/sly/parser/parser/ParseResult.cs 5 0 5 33 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/parser/SyntaxParseResult.cs 24 2 26 48 92.3% 5 6 83.3%
/home/runner/work/csly/csly/src/sly/parser/parser/SyntaxParsingContext.cs 15 0 15 32 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/parser/parser/SyntaxTreeCleaner.cs 48 0 48 77 100% 26 26 100%
/home/runner/work/csly/csly/src/sly/parser/parser/UnexpectedTokenSyntaxError.cs 47 9 56 144 83.9% 16 26 61.5%
/home/runner/work/csly/csly/src/sly/parser/parser/ValueOption.cs 31 0 31 54 100% 2 2 100%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/ChoiceClause.cs 19 24 43 88 44.1% 8 20 40%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/ClauseSequence.cs 12 15 27 57 44.4% 0 8 0%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/GroupClause.cs 12 12 24 70 50% 0 8 0%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/LeadingToken.cs 30 8 38 77 78.9% 8 18 44.4%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/ManyClause.cs 1 0 1 12 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/NonTerminalClause.cs 9 18 27 63 33.3% 0 10 0%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/OneOrMoreClause.cs 7 6 13 39 53.8% 0 2 0%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/OptionClause.cs 9 18 27 61 33.3% 1 12 8.3%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/Rule.cs 74 8 82 143 90.2% 24 38 63.1%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/TerminalClause.cs 35 15 50 135 70% 5 10 50%
/home/runner/work/csly/csly/src/sly/parser/syntax/grammar/ZeroOrMoreClause.cs 7 6 13 40 53.8% 0 2 0%
/home/runner/work/csly/csly/src/sly/parser/syntax/tree/GroupSyntaxNode.cs 7 0 7 17 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/syntax/tree/ManySyntaxNode.cs 9 0 9 23 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/syntax/tree/OptionSyntaxNode.cs 4 0 4 14 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/syntax/tree/SyntaxEpsilon.cs 0 3 3 25 0% 0 0
/home/runner/work/csly/csly/src/sly/parser/syntax/tree/SyntaxLeaf.cs 15 0 15 33 100% 0 0
/home/runner/work/csly/csly/src/sly/parser/syntax/tree/SyntaxNode.cs 80 5 85 147 94.1% 34 44 77.2%