Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-core-dev] CDT Symbol Table implementation`

The parser can do either a QUICK or COMPLETE parse. The main difference is that the quick parse does not have to follow all of the include paths. When you type a keystroke or more, a quick parse will be kicked off. This can be used to rapidly point out errors as you type for that nice incremental feel. At other times, such as when you save a file that had changed, a complete parse will happen which rebuilds the symbol index. The editor does have the concept of regions of text, but in my small test cases i only see parsing starting from the beginning of the file i am editing.
 
-----Original Message-----
From: cdt-core-dev-admin@xxxxxxxxxxx [mailto:cdt-core-dev-admin@xxxxxxxxxxx]On Behalf Of wiki criki
Sent: Sunday, May 23, 2004 11:17 PM
To: cdt-core-dev@xxxxxxxxxxx
Subject: RE: [cdt-core-dev] CDT Symbol Table implementation`

Thank you very much. Can you help me with one more thing. Is the parser bieng written for the CDT, or if it has already been written, is incremental. If so whenever a change occurs in the source file, does the parser parses the entire file or just the changes made. In the case, it parses only the changes made how does it update the symbol table, i mean how does it keep track of which symbols to add and which to drop.

----- Original Message -----
From: "Keithen Hayenga"
Date: Fri, 21 May 2004 15:12:49 -0700
To:
Subject: RE: [cdt-core-dev] CDT Symbol Table implementation`

> My $.01 worth. (I'm still working on 1.2.1, so it's only worth half as much.)
>
> There is a file that symbol information is cached. You can find it in:
>
> C:\eclipse\workspace\.metadata\.plugins\org.eclipse.cdt.core
>
> The file is named something like 129674786.index, where the name/number is stored in the project.
>
> -Keithen
>
>
> -----Original Message-----
> From: cdt-core-dev-admin@xxxxxxxxxxx
> [mailto:cdt-core-dev-admin@xxxxxxxxxxx]On Behalf Of Andrew Niefer
> Sent: Friday, May 21, 2004 7:38 AM
> To: cdt-core-dev@xxxxxxxxxxx
> Subject: Re: [cdt-core-dev] CDT Symbol Table implementation`
>
>
> Unfortunately there isn't really any documentation that accurately
> describes the symbol table structure. Your best bet would be to get the
> source out of CVS. The symbol table lives in the core under
> parser/org.eclipse.cdt.internal.core.parser.pst.
>
> As an overview, the symbol table is currently only objects in memory, it
> never gets serialized to disk. Individual symbols store their information
> in a combination of HashMaps (or in some cases TreeMap) and LinkedLists.
> The symbols themselv es also form a kind of tree rooted at the compilation
> unit.
>
> If you are inclined to write some documentation yourself, we would be
> pleased to post it on the website. If you have any specific questions I
> should be able to answer them.
>
> -Andrew
>
>
> "wiki criki"
> Sent by: cdt-core-dev-admin@xxxxxxxxxxx
> 05/21/2004 06:13 AM
> Please respond to
> cdt-core-dev
>
>
> To
> cdt-core-dev@xxxxxxxxxxx
> cc
>
> Subject
> [cdt-core-dev] CDT Symbol Table implementation`
>
>
> I am looking for information on the implementation and techniques used in
> the cdt to represent the symbol table after the parsing of the source
> file. I have looked into the development resources and found design plans
> but what i am really looking for is that in what form the symbol table is
> bieng maintained. That is, either its just in the form of objects in RAM,
> or stored in a database or in hard disk. Or may be, in hash tables that
> are then serialized and written to a file or something like that. Any
> reference to such an article would be appreciated.
>

Back to the top