| 1 | import jison from 'jison'; |
| 2 | |
| 3 | export const transformJison = (src: string): string => { |
| 4 | // @ts-ignore - Jison is not typed properly |
| 5 | const parser = new jison.Generator(src, { |
| 6 | moduleType: 'js', |
| 7 | 'token-stack': true, |
| 8 | }); |
| 9 | const source = parser.generate({ moduleMain: '() => {}' }); |
| 10 | const exporter = ` |
| 11 | parser.parser = parser; |
| 12 | export { parser }; |
| 13 | export default parser; |
| 14 | `; |
| 15 | return `${source} ${exporter}`; |
| 16 | }; |
| 17 |