2022-09-23 07:26:39 +02:00
|
|
|
// @ts-ignore No typings for jison
|
2022-09-22 12:05:22 +02:00
|
|
|
import jison from 'jison';
|
|
|
|
|
2022-09-23 07:26:39 +02:00
|
|
|
export const transformJison = (src: string): string => {
|
|
|
|
// @ts-ignore No typings for jison
|
2022-09-22 12:05:22 +02:00
|
|
|
const parser = new jison.Generator(src, {
|
|
|
|
moduleType: 'js',
|
|
|
|
'token-stack': true,
|
|
|
|
});
|
|
|
|
const source = parser.generate({ moduleMain: '() => {}' });
|
|
|
|
const exporter = `
|
|
|
|
parser.parser = parser;
|
|
|
|
export { parser };
|
|
|
|
export default parser;
|
|
|
|
`;
|
|
|
|
return `${source} ${exporter}`;
|
|
|
|
};
|