Author Topic: The 12 January 2010 build (6080) is out.  (Read 69876 times)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6035
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 12 January 2010 build (6080) is out.
« Reply #15 on: January 14, 2010, 04:33:08 am »
yes!
the ENABLE is lost!
but the DISABLE is OK!

I dont't know how to ....
I will check this bug. by enable #define PARSERTHREAD_DEBUG_OUTPUT 1.
By the way, I found that you also comes from China, and nice to meet you and your personal site
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6035
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 12 January 2010 build (6080) is out.
« Reply #16 on: January 14, 2010, 04:40:30 am »
Ok, this bug can be fixed soon. For example:

In the DoParse() function

Code
  else if (token==ParserConsts::kw_typedef)
        {
            if (m_Options.handleTypedefs)
                HandleTypedef();
            else
                SkipToOneOfChars(ParserConsts::semicolonclbrace, true);
            m_Str.Clear();
        }

Then in your code
Code
typedef enum {DISABLE = 0, DISABLE2 = 0, ENABLE = !DISABLE} FunctionalState;

a = DISABLE; // is work
a = ena;
When the Tokenizer meet the first "=" in your statement, it just SKIP to the "}".
That's the reason.

So, I think we can add this  before we handling typedef.
Code
m_Tokenizer.SetState(tsSkipNone);

I will do more testing.

If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6035
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 12 January 2010 build (6080) is out.
« Reply #17 on: January 14, 2010, 06:27:30 am »
Oh, my God, I found a bug in the Tokenizer::SkipUnWanted.

Code
    // skip the following = or ?
    if(m_State&tsSkipEqual)
    {
        if(c == _T('='))
        {
            if (!SkipToOneOfChars(_T(";}"), true))
                return false;
        }
    }

should be:
Code
    // skip the following = or ?
    if(m_State&tsSkipEqual)
    {
        if(c == _T('='))
        {
            if (!SkipToOneOfChars(_T(",;}"), true))
                return false;
        }
    }

Sorry! That's my fault.

Edit:
So, the problem Re: The 12 January 2010 build (6080) is out. can be solved.
« Last Edit: January 14, 2010, 06:34:02 am by ollydbg »
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline aozima

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: The 12 January 2010 build (6080) is out.
« Reply #18 on: January 14, 2010, 06:53:50 am »
Thinks! ollydbg..  is OK now!!!! :lol: :lol:
Sorry for my poor english.

Offline Borr

  • Multiple posting newcomer
  • *
  • Posts: 29
Re: The 12 January 2010 build (6080) is out.
« Reply #19 on: January 14, 2010, 07:22:42 am »
I have IBPP (http://www.ibpp.org/) and CB. And I want CB to autocomplete names of members of IBPP classes. I have create external tag database for IBPP includes, attached this tags and re-tagged the current cpp-file but autocomplete not works well.

Code
IBPP::/*CodeCompletion work*/Transaction tr = IBPP::/*CodeCompletion*/TransactionFactory();
IBPP::/*CodeCompletion*/Database db = IBPP::/*CodeCompletion*/DatabaseFactory();
IBPP::/*CodeCompletion*/Statement st = IBPP::/*CodeCompletion*/StatementFactory(db, tr);
tr->/*CodeCompletion NOT work*/

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 6035
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: The 12 January 2010 build (6080) is out.
« Reply #20 on: January 14, 2010, 07:31:27 am »
I have IBPP (http://www.ibpp.org/) and CB. And I want CB to autocomplete names of members of IBPP classes. I have create external tag database for IBPP includes, attached this tags and re-tagged the current cpp-file but autocomplete not works well.

Hi, sorry I can't fully catch your idea.
Did you use an external tag file?? How do you use them?

What does these code means???
Code
IBPP::/*CodeCompletion work*/Transaction tr = IBPP::/*CodeCompletion*/TransactionFactory();
IBPP::/*CodeCompletion*/Database db = IBPP::/*CodeCompletion*/DatabaseFactory();
IBPP::/*CodeCompletion*/Statement st = IBPP::/*CodeCompletion*/StatementFactory(db, tr);
tr->/*CodeCompletion NOT work*/
??
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline Borr

  • Multiple posting newcomer
  • *
  • Posts: 29
Re: The 12 January 2010 build (6080) is out.
« Reply #21 on: January 14, 2010, 08:58:41 am »
Hi, sorry I can't fully catch your idea.
Did you use an external tag file?? How do you use them?

No do not use. I just need codecompletion with IBPP class in C::B

What does these code means???
Code
IBPP::/*CodeCompletion work*/Transaction tr = IBPP::/*CodeCompletion*/TransactionFactory();
IBPP::/*CodeCompletion*/Database db = IBPP::/*CodeCompletion*/DatabaseFactory();
IBPP::/*CodeCompletion*/Statement st = IBPP::/*CodeCompletion*/StatementFactory(db, tr);
tr->/*CodeCompletion NOT work*/
??

This code mean that codecompletion not work in 4-th line tr->

Offline koso

  • Multiple posting newcomer
  • *
  • Posts: 58
Re: The 12 January 2010 build (6080) is out.
« Reply #22 on: January 14, 2010, 09:29:03 am »
And does it works when using operator "." ... i.e. "tr."?

Offline Borr

  • Multiple posting newcomer
  • *
  • Posts: 29
Re: The 12 January 2010 build (6080) is out.
« Reply #23 on: January 14, 2010, 09:35:09 am »
See IBPP there is an example.
http://sourceforge.net/projects/ibpp/files/

Offline blueshake

  • Regular
  • ***
  • Posts: 458
Re: The 12 January 2010 build (6080) is out.
« Reply #24 on: January 14, 2010, 10:07:29 am »
work fine here.
see the screen shot.


[attachment deleted by admin]
Keep low and hear the sadness of little dog.
I fall in love with a girl,but I don't dare to tell her.What should I do?

Offline Borr

  • Multiple posting newcomer
  • *
  • Posts: 29
Re: The 12 January 2010 build (6080) is out.
« Reply #25 on: January 14, 2010, 10:18:41 am »
this not all the list should be more

Offline blueshake

  • Regular
  • ***
  • Posts: 458
Re: The 12 January 2010 build (6080) is out.
« Reply #26 on: January 14, 2010, 10:32:32 am »
this not all the list should be more


That is all,because operator overload (such as operator+)will be ignored.
Keep low and hear the sadness of little dog.
I fall in love with a girl,but I don't dare to tell her.What should I do?

Offline Borr

  • Multiple posting newcomer
  • *
  • Posts: 29
Re: The 12 January 2010 build (6080) is out.
« Reply #27 on: January 14, 2010, 11:04:26 am »
see image - work in codelite

[attachment deleted by admin]

Offline blueshake

  • Regular
  • ***
  • Posts: 458
Re: The 12 January 2010 build (6080) is out.
« Reply #28 on: January 14, 2010, 11:31:50 am »
I see now.what are you talking is template parse.it is not implemented yet.
Keep low and hear the sadness of little dog.
I fall in love with a girl,but I don't dare to tell her.What should I do?

binom25

  • Guest
Re: The 12 January 2010 build (6080) is out.
« Reply #29 on: January 14, 2010, 09:16:32 pm »
Firstly, I want to say "Thank you for Codeblocks".
Secondly, I've downloaded this version and noticed a problem in editor. I don't know where exactly the problem is, but when I'm doing copy and paste a large block code, editor works a bit slowly(it hangs) than early version of Codeblocks. I use Codeblocks in Windows XP 32 bits.