[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-dev] add new keyword recognize by the dom parser
|
Hi Christian,
the additional keywords are considered after the preprocessor computes
the steam of tokens. You can use additional keywords to map
identifier-tokens to other tokens. The '@' character is not an
identifier, therefore the mapping does not work.
As a solution we can provide an option for the preprocessor to allow '@'
as part of identifiers (similar to how we deal with '$', which is
accepted by gcc).
Please create an enhancement request on bugzilla.
Markus.
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Christian
> Wiederseiner
> Sent: Thursday, June 12, 2008 7:24 PM
> To: cdt-dev@xxxxxxxxxxx
> Subject: RE: [cdt-dev] add new keyword recognize by the dom parser
> Importance: Low
>
>
>
>
> >Are you using different ILanguages for the header and source files?
> yes, by implementing the ICLanguageKeywords -.ph (popc header
> files) are based on the class PopCPP it extends GPPLanguage,
> - source file are the normal .cc form CDT so based on GPPLanguage
>
> Plugin.xml :
> <!-- Pop-C++ language declaration -->
> <extension
> point="org.eclipse.cdt.core.language">
> <language
> id="language.PopCPP"
> name="%language.name"
> class="ch.eif.popc.language.PopCPP">
> <!-- associate a content type to the language -->
> <contentType id="ch.eif.popc.popcHeader"/>
> </language>
> </extension>
>
> PopCPP file :
> public class PopCPP extends GPPLanguage {
>
> //used to add the parclass{
> protected static final
> POPCscannerExtensionConfiguration POPC_SCANNER_EXTENSION =
> new POPCscannerExtensionConfiguration();
>
> public String[] getKeywords() to add new keywords
>
> @Override
> protected IScannerExtensionConfiguration
> getScannerExtensionConfiguration()
> {
> return POPC_SCANNER_EXTENSION;
> }
>
> }
>
> POPCscannerExtensionConfiguration file :
> public class POPCscannerExtensionConfiguration extends
> GPPScannerExtensionConfiguration {
>
> public static final String PARCLASS = "parclass";
> public static final char[] popcPARCLASS =
> "parclass".toCharArray(); //$NON-NLS-1$
>
>
> public CharArrayIntMap getAdditionalKeywords() {
> [...]
> additionalCPPKeywords.put(
> POPCscannerExtensionConfiguration.popcPARCLASS,
> IToken.t_class);
> return additionalCPPKeywords;
> }
>
>
>
> >How different is POPC++ from regular C++?
> parclass as no extra syntax and use the same format as class,
> it is intend for parallel use and so is a real class with
> some restriction (for example :
> There are no methods that return memory address references)
>
> parclass contains a special format for some method :
> for example : sync mutex void getResult(int i, Matrix2Dlc &r,
> float &t); The outline view propaged getResult correctly.
> So this is not actualy an issue.
>
> the special keyword who made us some problems is the
> following, function can have some parameters for distributed
> application :
> Bird(float P) @{ od.power(P);
> od.memory(100,60);
> od.protocol("socket http"); }; The @
> keywords is identified as a Bad character sequence
> encountered : @ from the AST The coloration for this part was
> implemented using : public final class
> FastPopCPartitionScanner implements IPartitionTokenScanner,
> ICPartitions {
>
>
> So I hope this give you enough information about the configuration.
> I know that I will probably not have enough time to
> implement all that part. But it would be important to us to
> know if this is a good solution for the future. If C99 would help us.
>
> Thank you for your help,
>
> Christian
>
> --
> View this message in context:
> http://www.nabble.com/add-new-keyword-recognize-by-the-dom-par
ser-tp17621864p17805334.html
> Sent from the Eclipse CDT - Development mailing list archive
> at Nabble.com.
>
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>