Genivia / RE-flex

A high-performance C++ regex library and lexical analyzer generator with Unicode support. Extends Flex++ with Unicode support, indent/dedent anchors, lazy quantifiers, functions for lex and syntax error reporting and more. Seamlessly integrates with Bison and other parsers.
https://www.genivia.com/doc/reflex/html
BSD 3-Clause "New" or "Revised" License
504 stars 85 forks source link

For some reason, RE-flex only functions as a text editor #182

Closed butlerem01 closed 1 year ago

butlerem01 commented 1 year ago

I am on Windows 11 64-bit professional edition. RE-flex worked as intended about a month ago, but today I attempted to use it for the first time in a month. When I ran it with the following arguments (the bin/win64 folder for RE-flex is in my environmental PATH variable):

reflex.exe --header-file=xid.l --prefix=xid

It gave no output. The program continued to run, reading and writing standard input to standard output exactly as I typed it, even deleting text when I pressed backspace. I ran reflex.exe without providing any arguments, and the same situation happened. I then deleted the RE-flex folder, downloaded the latest version from this Github in the early morning hours of June 8 California time. I could not get the version number because I continued to have the same problem when I ran reflex.exe. It seems to act as just a text editor and produces no output except a copy of whatever I type. I even used the same parameters as above (in a folder where xid.l exists), and it's the same thing. The only thing it does is accept standard input, which is copied verbatim to standard output.

No idea what's going on here. I don't know if it's my operating system or something wonky about a DLL or something.

genivia-inc commented 1 year ago

Are you sure you didn't want to actually enter the command

reflex.exe --header-file xid.l --prefix=xid

Note there is no = after --header-file in the command above. The input file is xid.l and you want to generate a header file. In your command there is no input file to parse, so reflex.exe reads standard input.

This is more clear:

reflex.exe --header-file --prefix=xid xid.l