fauton
fauton copied to clipboard
An ecosystem of packages to work with automaton and parsers (dfa/nfa/e-nfa/regex/cfg/pda)
Bumps [parse-url](https://github.com/IonicaBizau/parse-url) from 6.0.0 to 6.0.5. Commits See full diff in compare view [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter...
Bumps [terser](https://github.com/terser/terser) from 5.10.0 to 5.14.2. Changelog Sourced from terser's changelog. v5.14.2 Security fix for RegExps that should not be evaluated (regexp DDOS) Source maps improvements (#1211) Performance improvements in...
There should be an option to test two separate finite automatons rather than only using a function. For example ```js // Not passing constructor arguments for sake of brevity const...
We need to check whether the state referenced in `start_state` in present in the `states` array, and each of the states of the `final_states` but also be present in `states`...
Test logic should not be a part of automaton, as it's only required when testing. Furthermore, if we want to test our automaton based on a different logic we need...
At the moment false and true positives and negative percentages are counted out of total input strings, not out of total correct and incorrect strings.
Right now there is no validation for Automata testing configs. ```js const finiteAutomataTest = new FiniteAutomataTest(); finiteAutomataTest.test([ { automaton: null, options: { type: 'generate', range: { maxLength: 10, }, outputFiles:...
```js const { NonDeterministicFiniteAutomaton, Render } = require('fauton'); const path = require('path'); const nfa = new NonDeterministicFiniteAutomaton((_, automatonTestResult) => automatonTestResult, { label: 'NFA 1', final_states: ['D'], start_state: 'A', alphabets: ['0',...
```js const { DeterministicFiniteAutomaton } = require('fauton'); const DivisibleBy3DFA = new DeterministicFiniteAutomaton( (randomBinaryString) => { return parseInt(randomBinaryString, 2) % 3 === 0; }, { label: 'DFA 1', alphabets: ['1', '0'],...
Example with `generate` option ```js const { FiniteAutomataTest} = require('fauton'); const finiteAutomataTest = new FiniteAutomataTest(path.join(__dirname, 'logs')); finiteAutomataTest.test([ { automaton: startsWithBC, options: { type: 'generate', range: { maxLength: 10, }, },...