Release Notes

1.1.0 (2025-09-02)

Add utility class for token operations and bug fixes

Requirements to run

  • JDK 11

Requirements to build

  • JDK 17

New

  • Add a new utility class Tokens, which provides operations such as token concatenation and stringizing.
  • Add new test classes such as TokenTest and TokensTest.
  • Add default methods isValue() and isType() to the Token interface.
  • Add the getReservedWords() method to LexicalParser for retrieving reserved words.

Removed

  • Removed unnecessary JavadocParagraph Checkstyle module.
  • Cleaned up outdated dependencies and unused code fragments.

Changed

  • Upgrade Java version from 14 to 17 for the test project.
  • Update Gradle from 7.2 to 9.0.0.
  • Update dependency versions (JUnit, Hamcrest, Checkstyle, etc.).
  • Refactor classes such as DefaultLexicalParser and Transcriber, and clarified token acquisition logic.
  • Improve documentation in README.md to better reflect the current implementation.

Fixed

  • Fix missing static/final modifiers in several internal classes and constants to enhance visibility and design.
  • Correct typos and errors in comments and documentation.
  • Add The undef preprocessor directive was missing from the PP_DIRECTIVE_NAMES set, causing incomplete coverage of C preprocessor directives.
  • Fix certain specifications in TokenType and parser logic (e.g., clarified handling and type determination of # and ## tokens).
  • Potential fix for code scanning alert no. 1: Workflow does not contain permissions.

1.0 (2022-01-25)

Initial release

Requirements to run

  • JDK 11

Requirements to build

  • JDK 17

New

  • Add a lexical parser with the features of unifying newline characters, trigraph replacement, line splicing, and tokenization.