Skip to content

Fix document marker detections #472

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 25, 2025
Merged

Conversation

fktn-k
Copy link
Owner

@fktn-k fktn-k commented Jan 25, 2025

This PR fixes document marker (--- and ...) detections since the current lexer implementation doesn't check whether those markers is at the beginning of a line or not, which makes it impossible to distinguish the following tokens with different meanings in YAML grammer.

--- # this is a directives end marker
  --- # this is a plain scalar

Also, the parser now emit an error if a document marker is found in a flow collection since the marker terminates the parsing and the corresponding ending character of the flow collection is regarded as missing:

[   # the corresponding `]` character is not found in this document since
--- # this marker terminates the parsing of the document.
]

Pull Request Checklist

Read the CONTRIBUTING.md file for detailed information.

  • Changes are described in the pull request or in a referenced issue.
  • The test suite compiles and runs without any error.
  • The code coverage on your branch is 100%.
  • The documentation is updated if you added/changed a feature.

Please don't

  • The C++11 support varies between different compilers and versions. Please note the list of supported compilers. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with #ifdefs or other means.
  • Please refrain from proposing changes that would break YAML specifications. If you propose a conformant extension of YAML to be supported by the library, please motivate this extension.
  • Please do not open pull requests that address multiple issues.

@fktn-k fktn-k added the bug Something isn't working label Jan 25, 2025
@fktn-k fktn-k added this to the Release v0.4.2 milestone Jan 25, 2025
@fktn-k fktn-k self-assigned this Jan 25, 2025
Copy link

:octocat: Upload Coverage Event Notification

Coverage data has been uploaded for the commit adeccade3a7e39bbbc971bac957b018fdd5a2b5f.
You can download the artifact which contains the same file uploaded to the Coveralls and its HTML version.

Name fkYAML_coverage.pr472.zip
ID 2484258412
URL https://github.com/fktn-k/fkYAML/actions/runs/12961111706/artifacts/2484258412

@fktn-k fktn-k merged commit d361611 into develop Jan 25, 2025
163 checks passed
@fktn-k fktn-k deleted the fix_document_marker_detections branch January 25, 2025 03:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant