-
Notifications
You must be signed in to change notification settings - Fork 1
Comparing changes
Open a pull request
base repository: coder-dong/JSGFTools
base: master
head repository: syntactic/JSGFTools
compare: master
- 8 commits
- 21 files changed
- 3 contributors
Commits on May 17, 2018
-
Configuration menu - View commit details
-
Copy full SHA for fe70551 - Browse repository at this point
Copy the full SHA fe70551View commit details -
I'm updating the copyright information contained within the source co…
…de - I didn't actually think that anyone would be using this code at all, so previously the information was invalid. I'm copying the contents of the LICENSE file into the header comments of the Python source.
syntactic authored and syntactic committedMay 17, 2018 Configuration menu - View commit details
-
Copy full SHA for 680ad42 - Browse repository at this point
Copy the full SHA 680ad42View commit details
Commits on May 18, 2018
-
I've added an encoding header and setup file. Thanks to Thomas Sauvag…
…e for finding the encoding issue and also for the setup file.
syntactic authored and syntactic committedMay 18, 2018 Configuration menu - View commit details
-
Copy full SHA for 907b917 - Browse repository at this point
Copy the full SHA 907b917View commit details
Commits on Sep 15, 2025
-
Modernize codebase for Python 3.7+ compatibility and add comprehensiv…
…e testing Major updates: - Full Python 3 compatibility: fixed print statements, string handling, and pyparsing issues - Added comprehensive test suite with 25 tests covering all functionality - Enhanced setup.py with proper packaging, dependencies, and console script entry points - Improved main functions with better error handling and argument validation - Updated README.md with modern documentation, examples, and installation instructions - Added development requirements and pytest configuration - Enhanced .gitignore for modern Python development All generators now work correctly with Python 3.7+ while maintaining backward compatibility with existing grammar files. The test suite ensures reliability for future development.
Configuration menu - View commit details
-
Copy full SHA for 38a6ca4 - Browse repository at this point
Copy the full SHA 38a6ca4View commit details -
Merge pull request syntactic#6 from syntactic/2025_update
Modernize codebase for Python 3.7+ compatibility and add comprehensive testing
Configuration menu - View commit details
-
Copy full SHA for 54a7470 - Browse repository at this point
Copy the full SHA 54a7470View commit details
Commits on Sep 16, 2025
-
Implement modern OOP architecture with clean API and eliminate global…
… variables Major architectural redesign to transform JSGFTools from college project to production-ready library: BREAKING CHANGES: - New jsgf package with clean object-oriented API - Grammar.from_file() and Grammar.from_string() factory methods - DeterministicGenerator and ProbabilisticGenerator classes with proper encapsulation - No more global variable dependencies - thread-safe and concurrent usage ready New Features: - Comprehensive type hints throughout codebase - Rich exception hierarchy with contextual error messages - GeneratorConfig for customizable behavior (recursion limits, random seeds) - Grammar validation and cycle detection - Iterator-based generation for memory efficiency - Legacy adapter maintains backwards compatibility Architecture: - Clean separation: Grammar parsing, AST representation, string generation, CLI - Proper encapsulation eliminates global state antipatterns - Factory methods and configuration objects for professional API design - Modern package structure with clear module responsibilities Performance: - Memory-efficient generators using iterators instead of building large lists - Thread-safe design allows concurrent usage - Configurable recursion limits and generation constraints The new API provides a clean migration path while maintaining full compatibility with existing grammar files through the legacy adapter. Example usage: ```python from jsgf import Grammar, DeterministicGenerator, GeneratorConfig grammar = Grammar.from_file("example.jsgf") config = GeneratorConfig(max_recursion_depth=100) generator = DeterministicGenerator(grammar, config) for sentence in generator.generate(): print(sentence) ```Configuration menu - View commit details
-
Copy full SHA for 5faf0b1 - Browse repository at this point
Copy the full SHA 5faf0b1View commit details
Commits on Oct 6, 2025
-
Add comprehensive Unicode support and publish to PyPI (v2.1.1)
- Add Unicode support for 10+ major language scripts (Chinese, Japanese, Korean, Arabic, Russian, Hebrew, Greek, Thai, Hindi, and more) in both parsers (legacy and modern) - Add 11 comprehensive Unicode tests covering all supported scripts - Fix argparse support in DeterministicGenerator CLI (--help now works) - Publish to PyPI as 'jsgf-tools' package - Add modern pyproject.toml for Python packaging standards - Add MANIFEST.in for proper file inclusion in distribution - Update README with PyPI installation instructions and Unicode examples - Update setup.py with enhanced metadata and keywords
Configuration menu - View commit details
-
Copy full SHA for f0fad03 - Browse repository at this point
Copy the full SHA f0fad03View commit details -
Merge pull request syntactic#7 from syntactic/2025_update
Add comprehensive Unicode support and publish to PyPI (v2.1.1) - Add Unicode support for 10+ major language scripts (Chinese, Japanese, Korean, Arabic, Russian, Hebrew, Greek, Thai, Hindi, and more) in both parsers (legacy and modern) - Add 11 comprehensive Unicode tests covering all supported scripts - Fix argparse support in DeterministicGenerator CLI (--help now works) - Publish to PyPI as 'jsgf-tools' package - Add modern pyproject.toml for Python packaging standards - Add MANIFEST.in for proper file inclusion in distribution - Update README with PyPI installation instructions and Unicode examples - Update setup.py with enhanced metadata and keywords
Configuration menu - View commit details
-
Copy full SHA for 66413ce - Browse repository at this point
Copy the full SHA 66413ceView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master