lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



Philippe Lhoste wrote:

> twoonkio wrote:
> > As I use the literate programming tool noweb
> > (http://www.eecs.harvard.edu/~nr/noweb/), source codes are generated from
> > the document files.  Suppose the document is called 'doc.nw' and the
> > generated lua code 'code.lua'. When there is a syntax error, the lua
> > interpreter points to the problem line in 'code.lua'. However, the line
> > number does not coincides with the actual line number in 'doc.nw'. As the
> > document grew,  it becomes harder to trace the error message back to the
> > actual location in the file 'doc.nw'.
> >
> > I usually use lua for scripting. Is there a good way to modify the lua
> > interpreter 'lua' such that it is able to handle metainformation such as '
> > #line 40 "doc.nw" '? Better still, is there a way to simply add some codes
> > within 'code.lua' that modifies the state of dblib's 'currentline'
> > appropriately? In the second way, the interpreter need not be modified.
>
> Sorry if this answer is too naive, but can't you just set two global
> variables and assign them where you need the information?
> Something like:
>
> line, file = 40, "doc.nw"
> function ComputeValues(value)
> ...
> end
>
> line, file = 51, "doc.nw"
> function ProcessFile()
> ...
> end
>
> Since the line numbers are not the native (Lua code) one but the NoWeb
> document ones, I suppose you can generate the above lines.

Yes, this can be done.

Is there a way that I can feed the information 'line' and 'file' into the error
exception handler of Lua? The aim is to make Lua generate error messages that
points to the error location according to 'line' and 'file'.


>
>
> > >From:  Roberto Ierusalimschy <roberto@inf.puc-rio.br>
> > >
> > > > Does Lua supports some kind of meta line information?
> > >
> > >The debug library (dblib) has a function that returns (among
> > other things)
> > >the current line number, but it is not very efficient (it does a kind of
> > >search into an internal data structure, and also builds a table to return
> > >its results; its main use is for debugging ;-)
> > >
> > >print(getinfo(1, 'l').currentline)
> >
> >
> > twoonkio wrote:
> > > Does Lua supports some kind of meta line information?
> > >
> > > For instance, in C, line information can be included in generated source
> > > codes as follows:
> > >
> > > > #line 40 "doc.nw"
> > > > double f(int x)
> > > >    :
> > >
> > > Is there any equivalent syntax for Lua scripts?
>
> Regards.
>
> --
> --._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.--
> Philippe Lhoste (Paris -- France)
> Professional programmer and amateur artist
> http://jove.prohosting.com/~philho/
> --´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`·._.·´¯`--
>
> Sent through GMX FreeMail - http://www.gmx.net