b3b00 / csly

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

Refactoring/split parsers into partials #467

Closed b3b00 closed 2 months ago

codesandbox[bot] commented 2 months ago

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders
Open Preview

github-actions[bot] commented 2 months ago
# Summary
Generated on: 7/30/2024 - 2:41:14 PM
Parser: LCovParser
Assemblies: 1
Classes: 125
Files: 125
Covered lines: 6233
Uncovered lines: 764
Coverable lines: 6997
Total lines: 11888
Line coverage: 89% (6233 of 6997)
Covered branches: 2053
Total branches: 2454
Branch coverage: 83.6% (2053 of 2454)
Tag: 952_10164456161
Name Covered Uncovered Coverable Total Line coverage Covered Total Branch coverage
Default 6233 764 6997 11888 89% 2053 2454 83.6%
D:\a\csly\csly\src\sly\buildresult\BuildResult.cs 20 0 20 65 100% 2 2 100%
D:\a\csly\csly\src\sly\buildresult\InitializationError.cs 9 0 9 18 100% 0 0
D:\a\csly\csly\src\sly\buildresult\LexerInitializationError.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\buildresult\ParserInitializationError.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\EnumConverter.cs 13 3 16 35 81.2% 2 4 50%
D:\a\csly\csly\src\sly\i18n\I18N.cs 42 2 44 73 95.4% 14 16 87.5%
D:\a\csly\csly\src\sly\i18n\LexemeLabelAttribute.cs 7 0 7 19 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\AlphaIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\AlphaNumDashIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\AlphaNumIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CallBacksAttribute.cs 5 0 5 16 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CharAttribute.cs 0 3 3 9 0% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CommentsAttribute.cs 11 0 11 29 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\CustomIdAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\DateAttribute.cs 4 0 4 16 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\DoubleAttribute.cs 4 0 4 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\ExtensionAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\HexaAttribute.cs 4 0 4 11 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\IntAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\KeywordAttribute.cs 3 0 3 10 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\LexemeAttribute.cs 54 1 55 93 98.1% 11 14 78.5%
D:\a\csly\csly\src\sly\lexer\attributes\ModeAttribute.cs 9 0 9 23 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\ModesAttribute.cs 0 5 5 19 0% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\MultiLineCommentAttribute.cs 2 0 2 11 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\PopAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\PushAttribute.cs 5 0 5 15 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\SingleLineCommentAttribute.cs 2 0 2 11 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\StringAttribute.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\SugarAttribute.cs 3 3 6 15 50% 0 0
D:\a\csly\csly\src\sly\lexer\attributes\UpToAttribute.cs 3 0 3 9 100% 0 0
D:\a\csly\csly\src\sly\lexer\CallBacksBuilder.cs 24 0 24 42 100% 8 8 100%
D:\a\csly\csly\src\sly\lexer\fsm\EOLManager.cs 60 0 60 87 100% 25 26 96.1%
D:\a\csly\csly\src\sly\lexer\fsm\FSMLexer.cs 279 15 294 465 94.8% 87 95 91.5%
D:\a\csly\csly\src\sly\lexer\fsm\FSMLexerBuilder.cs 269 107 376 589 71.5% 59 88 67%
D:\a\csly\csly\src\sly\lexer\fsm\FSMMatch.cs 71 0 71 114 100% 2 2 100%
D:\a\csly\csly\src\sly\lexer\fsm\FSMNode.cs 17 0 17 32 100% 4 6 66.6%
D:\a\csly\csly\src\sly\lexer\fsm\FSMTransition.cs 16 0 16 43 100% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\AbstractTransitionCheck.cs 7 0 7 38 100% 4 4 100%
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionAny.cs 0 10 10 28 0% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionAnyExcept.cs 11 6 17 43 64.7% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionMany.cs 7 5 12 36 58.3% 0 0
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionMultiRange.cs 19 0 19 63 100% 7 8 87.5%
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionRange.cs 8 6 14 39 57.1% 2 2 100%
D:\a\csly\csly\src\sly\lexer\fsm\transitioncheck\TransitionSingle.cs 12 0 12 35 100% 0 0
D:\a\csly\csly\src\sly\lexer\GenericLexer.cs 860 62 922 1238 93.2% 240 271 88.5%
D:\a\csly\csly\src\sly\lexer\IndentationError.cs 7 0 7 19 100% 0 0
D:\a\csly\csly\src\sly\lexer\Lexer.cs 58 3 61 105 95% 15 16 93.7%
D:\a\csly\csly\src\sly\lexer\LexerAttribute.cs 11 0 11 48 100% 8 8 100%
D:\a\csly\csly\src\sly\lexer\LexerBuilder.cs 584 18 602 793 97% 267 288 92.7%
D:\a\csly\csly\src\sly\lexer\LexerIndentation.cs 50 10 60 104 83.3% 17 24 70.8%
D:\a\csly\csly\src\sly\lexer\LexerPosition.cs 34 3 37 90 91.8% 0 0
D:\a\csly\csly\src\sly\lexer\LexerResult.cs 18 0 18 49 100% 0 0
D:\a\csly\csly\src\sly\lexer\LexicalError.cs 9 1 10 30 90% 0 0
D:\a\csly\csly\src\sly\lexer\Token.cs 150 13 163 364 92% 44 52 84.6%
D:\a\csly\csly\src\sly\lexer\TokenCallbackAttribute.cs 5 0 5 14 100% 0 0
D:\a\csly\csly\src\sly\lexer\TokenChannel.cs 35 2 37 83 94.5% 15 18 83.3%
D:\a\csly\csly\src\sly\lexer\TokenChannels.cs 67 4 71 134 94.3% 27 28 96.4%
D:\a\csly\csly\src\sly\lexer\TokenDefinition.cs 13 0 13 45 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\AutoCloseIndentationsAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\BroadenTokenWindowAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\EBNFParserBuilder.cs 107 18 125 197 85.6% 29 36 80.5%
D:\a\csly\csly\src\sly\parser\generator\ExpressionRulesGenerator.cs 283 6 289 375 97.9% 98 104 94.2%
D:\a\csly\csly\src\sly\parser\generator\InfixAttribute.cs 6 0 6 13 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\LeftRecursionChecker.cs 95 0 95 149 100% 42 42 100%
D:\a\csly\csly\src\sly\parser\generator\NodeNameAttribute.cs 5 0 5 14 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\NonTerminal.cs 12 0 12 47 100% 2 2 100%
D:\a\csly\csly\src\sly\parser\generator\OperationAttribute.cs 25 0 25 67 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\OperationMetaData.cs 29 0 29 56 100% 4 4 100%
D:\a\csly\csly\src\sly\parser\generator\ParserBuilder.cs 450 38 488 713 92.2% 212 228 92.9%
D:\a\csly\csly\src\sly\parser\generator\ParserConfiguration.cs 40 2 42 78 95.2% 25 26 96.1%
D:\a\csly\csly\src\sly\parser\generator\ParserConfigurationException.cs 3 0 3 11 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\ParserRootAttribute.cs 5 0 5 18 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\PostfixAttribute.cs 6 0 6 13 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\PrefixAttribute.cs 6 0 6 13 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\ProductionAttribute.cs 5 0 5 15 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\RuleParser.cs 135 8 143 282 94.4% 14 14 100%
D:\a\csly\csly\src\sly\parser\generator\UseMemoizationAttribute.cs 3 0 3 12 100% 0 0
D:\a\csly\csly\src\sly\parser\generator\visitor\ConcreteSyntaxTreeWalker.cs 34 24 58 111 58.6% 17 30 56.6%
D:\a\csly\csly\src\sly\parser\generator\visitor\dotgraph\DotArrow.cs 20 1 21 39 95.2% 2 4 50%
D:\a\csly\csly\src\sly\parser\generator\visitor\dotgraph\DotGraph.cs 55 2 57 92 96.4% 14 20 70%
D:\a\csly\csly\src\sly\parser\generator\visitor\dotgraph\DotNode.cs 30 0 30 48 100% 2 2 100%
D:\a\csly\csly\src\sly\parser\generator\visitor\EBNFSyntaxTreeVisitor.cs 138 8 146 211 94.5% 71 78 91%
D:\a\csly\csly\src\sly\parser\generator\visitor\mermaid\MermaidArrow.cs 0 13 13 28 0% 0 2 0%
D:\a\csly\csly\src\sly\parser\generator\visitor\mermaid\MermaidGraph.cs 0 55 55 94 0% 0 18 0%
D:\a\csly\csly\src\sly\parser\generator\visitor\mermaid\MermaidNode.cs 0 49 49 82 0% 0 14 0%
D:\a\csly\csly\src\sly\parser\generator\visitor\SyntaxTreeVisitor.cs 129 12 141 233 91.4% 22 38 57.8%
D:\a\csly\csly\src\sly\parser\parser\Group.cs 27 1 28 75 96.4% 2 4 50%
D:\a\csly\csly\src\sly\parser\parser\GroupItem.cs 20 1 21 60 95.2% 1 2 50%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.cs 168 8 176 252 95.4% 68 76 89.4%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.Expressions.cs 35 0 35 59 100% 22 22 100%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.NonTerminal.cs 94 0 94 132 100% 39 40 97.5%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParser.Terminal.cs 21 0 21 40 100% 6 6 100%
D:\a\csly\csly\src\sly\parser\parser\llparser\bnf\RecursiveDescentSyntaxParserStarter.cs 109 5 114 176 95.6% 42 42 100%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.cs 112 0 112 167 100% 60 64 93.7%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.EBNFRecursiveDescentSyntaxParser.Choice.cs 36 3 39 73 92.3% 19 22 86.3%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.Expressions.cs 78 23 101 148 77.2% 31 52 59.6%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.Many.cs 117 11 128 188 91.4% 49 66 74.2%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParser.Option.cs 51 10 61 100 83.6% 16 20 80%
D:\a\csly\csly\src\sly\parser\parser\llparser\ebnf\EBNFRecursiveDescentSyntaxParserStarter.cs 101 19 120 218 84.1% 54 62 87%
D:\a\csly\csly\src\sly\parser\parser\ParseError.cs 15 1 16 42 93.7% 8 8 100%
D:\a\csly\csly\src\sly\parser\parser\Parser.cs 133 3 136 200 97.7% 51 54 94.4%
D:\a\csly\csly\src\sly\parser\parser\ParseResult.cs 5 0 5 33 100% 0 0
D:\a\csly\csly\src\sly\parser\parser\SyntaxParseResult.cs 24 3 27 50 88.8% 5 6 83.3%
D:\a\csly\csly\src\sly\parser\parser\SyntaxParsingContext.cs 23 0 23 42 100% 4 4 100%
D:\a\csly\csly\src\sly\parser\parser\SyntaxTreeCleaner.cs 48 0 48 77 100% 26 26 100%
D:\a\csly\csly\src\sly\parser\parser\UnexpectedTokenSyntaxError.cs 47 9 56 143 83.9% 16 26 61.5%
D:\a\csly\csly\src\sly\parser\parser\ValueOption.cs 31 0 31 54 100% 2 2 100%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ChoiceClause.cs 19 24 43 88 44.1% 8 20 40%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ClauseSequence.cs 12 15 27 57 44.4% 0 8 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\GroupClause.cs 12 12 24 70 50% 0 8 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\LeadingToken.cs 40 10 50 93 80% 11 22 50%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ManyClause.cs 1 0 1 12 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\grammar\NonTerminalClause.cs 9 18 27 63 33.3% 0 10 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\OneOrMoreClause.cs 7 6 13 39 53.8% 0 2 0%
D:\a\csly\csly\src\sly\parser\syntax\grammar\OptionClause.cs 9 18 27 61 33.3% 1 12 8.3%
D:\a\csly\csly\src\sly\parser\syntax\grammar\Rule.cs 92 4 96 178 95.8% 42 52 80.7%
D:\a\csly\csly\src\sly\parser\syntax\grammar\TerminalClause.cs 35 15 50 135 70% 6 10 60%
D:\a\csly\csly\src\sly\parser\syntax\grammar\ZeroOrMoreClause.cs 7 6 13 40 53.8% 0 2 0%
D:\a\csly\csly\src\sly\parser\syntax\tree\EmptyNode.cs 0 11 11 25 0% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\GroupSyntaxNode.cs 7 0 7 17 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\ManySyntaxNode.cs 9 0 9 23 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\OptionSyntaxNode.cs 4 0 4 14 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\SyntaxEpsilon.cs 0 4 4 26 0% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\SyntaxLeaf.cs 16 0 16 33 100% 0 0
D:\a\csly\csly\src\sly\parser\syntax\tree\SyntaxNode.cs 101 6 107 174 94.3% 50 62 80.6%
coveralls commented 2 months ago

Pull Request Test Coverage Report for Build 10164456161

Details


Changes Missing Coverage Covered Lines Changed/Added Lines %
src/sly/parser/parser/llparser/ebnf/EBNFRecursiveDescentSyntaxParser.EBNFRecursiveDescentSyntaxParser.Choice.cs 36 39 92.31%
src/sly/parser/parser/llparser/ebnf/EBNFRecursiveDescentSyntaxParser.Option.cs 51 61 83.61%
src/sly/parser/parser/llparser/ebnf/EBNFRecursiveDescentSyntaxParser.Many.cs 117 128 91.41%
src/sly/parser/parser/llparser/ebnf/EBNFRecursiveDescentSyntaxParser.Expressions.cs 78 101 77.23%
<!-- Total: 544 591 92.05% -->
Totals Coverage Status
Change from base Build 10004443412: -0.02%
Covered Lines: 6233
Relevant Lines: 6997

💛 - Coveralls
sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
41 New issues
2 Accepted issues

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

See analysis details on SonarCloud