On Sun, 14 May 2006 11:46:33 +0200 Florian Klaempfl <[EMAIL PROTECTED]> wrote:
> Michael Van Canneyt wrote: > > > > On Sun, 14 May 2006, Daniël Mantione wrote: > > > >> > >> Op Sun, 14 May 2006, schreef Michael Van Canneyt: > >> > >>> > >>> On Sun, 14 May 2006, Daniël Mantione wrote: > >>> > >>>> > >>>> Op Sun, 14 May 2006, schreef Martin Schreiber: > >>>> > >>>>> Since some time FPC doesn't flush output on pipes after writeln. > >>>>> On linux I can use a pseudo terminal, what can I do on win32 to get > >flushed >>>> output from FPC into the message window of MSEide? > >>>> It is strongly recommended against to parse the compiler output, as > >it is >>> designed for humans, not computers. The formatting of the > >compiler output >>> can therefore change in time and can also be > >configured by the user in any >>> language. Some people are doing it > >anyway, like Lazarus. >>> > >>>> The compiler has an interface designed for computers and that is > >through >>> the compiler and comphook units. This allows you to retrieve > >the messages >>> neatly. If you want process separation, please write a > >wrapper that puts >>> the messages in a computer friendly way, and we'll > >include it in FPC. >> We could do this ourselves by assigning a unique > >number to each error. >> (and keeping these numbers) > >> I think a command line output for computers needs to be a bit more > >> advanced, take for example this error message: > >> > >> testc.pas(11,1) Fatal: Syntax error, "BEGIN" expected but "identifier > >Z" found > > >> We have: > >> * The source file > >> * The error location > >> * The error severity > >> * The error message, containing two parameters. > >> > >> Both the severity and error message are currently unpredictable, i.e. > >they > can be translated for example. Some IDE's may want to have access > >to the > error messages their parameters as well. > >> > >> A command line output for computers also needs to be extendable, if we > >> want to output more information, this should not break existing > >> applications. > >> > >> For example, a good way to output this error message in a computer > >> friendly format would be: > >> > >> error:(file='testc.pas';line=11;column=1;message_code='02003_F'; > >> message='Syntax error, $1 expected but $2 found'; > >> parameters=('BEGIN','IDENTIFIER Z')); > > > > I'm all for such a message form; it should be easy to add with some -v > > switch... But > > - This is no use if the message code changes over time, > > because that is still the unique identifier for the error... > > - The message itself should not be given, IMHO. > > The program can look it up in the error message file... > > Parsing the current error messages isn't that hard? For the quick fix items (like eclipse and lazarus), we need the message ID and parameters, independent of current localization. Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel