This Python program implements a Non-deterministic Finite Automaton (NFA) to recognize and validate Python numerical literals, including integers (decimal, octal, hexadecimal) and floating-point numbers. It supports underscores in number literals for improved readability.
- Project Lead: [Agekyan, David] (https://github.com/agekyan) daagekyan@cpp.edu Programming, function call designs, NFA state creations
- NFA Construction: [Felix Reyes, Luis] (https://github.com/CrazyBlueStar) lfelixreyes@cpp.edu Graphs, NFA creations for individual functions, floating-point functionality NFA, final NFA
- Design: [Ireland, Freddie ] (https://github.com/FreddieIreland) fireland@cpp.edu Management, program design, NFA creation, main function
- GitHub Repo: https://github.com/CS3110Project/Numerical-Literal-Checker
- IDE: Google Colab (https://colab.research.google.com/)
- Version: 0.2.0 Steady Version
The purpose of this project is to create a hands-on programming application of course concepts, specifically focusing on the recognition and validation of Python numerical literals using Non-deterministic Finite Automata (NFA). This tool will help users verify whether a given string conforms to the rules of Python's numerical literal syntax. (Referenced literals: https://docs.python.org/3/reference/lexical_analysis.html#numeric-literals).
- Recognizes Python decimal integer literals
- Supports octal and hexadecimal integer literals
- Validates floating-point literals
- Allows underscores in number literals for improved readability
- Interactive testing mode for real-time input validation
- File-based batch testing with input and expected results comparison
- Generates sample input files for testing purposes
- Clone the repository:
git clone https://github.com/CS3110Project/Numerical-Literal-Checker.git