Tags: gnames/gnparser
Tags
feat(parser): Add parser for ICVCN nomenclature (close #290) Implements a dedicated parser for names governed by the International Code of Virus Classification and Nomenclature (ICVCN). This change allows gnparser to correctly process modern viral names. The new `ent/icvcn` package uses a PEG grammar to parse: - Uninomials for ranks from Realm to Genus based on official suffixes. - Binomials for species names, supporting alphanumeric epithets. The main parser now attempts to process input using this new module first, especially when a viral nomenclatural code is specified. A blacklist is added to prevent misparsing of botanical or zoological genera that coincidentally match viral name patterns. The preprocessing logic is adjusted to accommodate this new flow.
parse 'los' as author prefix in canonical form (fix #291) This addresses an issue where 'los' was not recognized as a standalone author prefix, impacting the canonical form generation. The grammar (AuthorPrefix1 rule) has been updated to include 'los' independently. New test cases were added to validate
feat: Modernize build system and update dependencies This commit introduces several improvements to the project's infrastructure, tooling, and documentation. - Build: Replaced the Makefile with a `justfile` for a more modern and consistent build automation experience. - Toolchain: Upgraded Go to version 1.25.1 and updated all Go module dependencies to their latest versions. - Nix: Enhanced the Nix flake to support multiple platforms (linux/darwin, amd64/arm64) and updated it to use the nixos-unstable channel. - Quality: Added a `.markdownlint.json` configuration and reformatted all Markdown files to enforce consistent styling. - Docs: Fixed typos and updated build instructions in the README.
PreviousNext