paul-j-lucas / cdecl

Composing and deciphering C (or C++) declarations or casts, aka ‘‘gibberish.’’
GNU General Public License v3.0
90 stars 11 forks source link

Support for alternative FLEX and YACC implementations? #27

Closed Flowdalic closed 1 year ago

Flowdalic commented 1 year ago

cdecl currently checks for flex providing the LEX implementation

https://github.com/paul-j-lucas/cdecl/blob/c3d7878aa6734e084c0ef0e03ae91378378bf8d2/configure.ac#L58-L62

and bison providing the YACC implementation

https://github.com/paul-j-lucas/cdecl/blob/c3d7878aa6734e084c0ef0e03ae91378378bf8d2/configure.ac#L63-L67

due packaging cdecl in Gentoo, the question came up how far cdecl supports alternative implementations (Gentoo (bug # 879233)[https://bugs.gentoo.org/879233]). Namely reflex and byacc.

Is the hard dependency on flex and bison deliberate, or is the strong check in configure.ac via AX_PROG_FLEX / AX_PROG_BISON unintentional and could be replaced with AC_PROG_LEX / AC_PROG_YACC?

paul-j-lucas commented 1 year ago

I haven't ever used any alternative implementations. I have no idea whether reflex or byacc would work. You're free to try them and see. If the answer is yes, you're welcome to submit a pull request.

I don't think you can simply use AC_PROG_LEX and AC_PROG_YACC because those would also erroneously allow vanilla lex and yacc and those definitely do not work. Any alternative implementations must be compatible with flex and bison, not lex and yacc.

paul-j-lucas commented 1 year ago

Closing since no response from originator.