Click here to Skip to main content
15,893,588 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: menu on a button click event Pin
Prasann Mayekar6-Nov-07 21:45
Prasann Mayekar6-Nov-07 21:45 
Questionhow can i set message map for dynamic created CEdit [modified] Pin
mwolf1226-Nov-07 16:46
mwolf1226-Nov-07 16:46 
AnswerRe: how can i set message map for dynamic created CEdit Pin
Hamid_RT6-Nov-07 18:57
Hamid_RT6-Nov-07 18:57 
QuestionRe: how can i set message map for dynamic created CEdit Pin
fantasy12156-Nov-07 22:22
fantasy12156-Nov-07 22:22 
AnswerRe: how can i set message map for dynamic created CEdit Pin
mwolf1227-Nov-07 14:04
mwolf1227-Nov-07 14:04 
GeneralRe: how can i set message map for dynamic created CEdit Pin
Hamid_RT7-Nov-07 18:11
Hamid_RT7-Nov-07 18:11 
GeneralRe: how can i set message map for dynamic created CEdit Pin
Hamid_RT7-Nov-07 18:11
Hamid_RT7-Nov-07 18:11 
QuestionLR1 Compiler Construction Pin
Lea Hayes6-Nov-07 16:13
Lea Hayes6-Nov-07 16:13 
Hi,

I am studying LR1 compiler construction and am confused with the Closure(I) function.

The book I have gives the following:

Closure(I) =
repeat
for any item (A ---> a.XB, z) in I
for any production X ---> y
for any w {set} FIRST(Bz)
I <-- I U {(X ---> .y, w)}
until I does not change
return I

The part I do not understand is FIRST(Bz). Is this the same as FOLLOW(X)?

It would be great if somebody could rewrite this in C style pseudocode to help me understand this further. Here is some pseudocode for the type of thing I have atm....the actual C++ code is too involved for a forum posting:


STATE Closure(STATE I)<br />
{<br />
	bool updated = false;<br />
	do<br />
	{<br />
		updated = false;<br />
		for(int i = 0; i < I.itemcount; i++)<br />
		{<br />
			ITEM *pItem = I.items[i];<br />
			int prev_prod_count = I.prod_count;<br />
<br />
			if(pItem->phase < item.production.right_length)<br />
			{<br />
				right_token = item->prod.right(item.phase);<br />
				for(vector<PRODUCTION>::iterator itProd = grammar->begin(); itProd != grammar.end(); itProd++)<br />
				{<br />
					if(itProd->left_side == right_token)<br />
					{<br />
						SYMBOLSET *pBeta = NULL;<br />
						if(item.phase + 1 < item.right_length)<br />
						{<br />
							pBETA = FIRST[item.prod.right[item.phase + 1]];<br />
							if(pBETA->count == 0)<br />
								pBETA = FIRST[item.look_ahead];<br />
						}<br />
						else<br />
							pBETA = FIRST[item.look_ahead];<br />
<br />
						foreach(symbol in pBeta)<br />
						{<br />
							item.append(*ItProd, 0, symbol);<br />
						}<br />
					}<br />
				}<br />
			}<br />
			if(I.prod_count != prev_prod_count)<br />
				updated = true;<br />
		}<br />
	}<br />
<br />
	return I;<br />
}


Any help would be greatly appreciated!
Lea Hayes
AnswerRe: LR1 Compiler Construction Pin
Lea Hayes6-Nov-07 22:40
Lea Hayes6-Nov-07 22:40 
QuestionVisual Studio macros for a VC 6 project Pin
Sam Hobbs6-Nov-07 15:49
Sam Hobbs6-Nov-07 15:49 
AnswerRe: Visual Studio macros for a VC 6 project Pin
Nelek6-Nov-07 22:01
protectorNelek6-Nov-07 22:01 
GeneralRe: Visual Studio macros for a VC 6 project Pin
Sam Hobbs6-Nov-07 22:20
Sam Hobbs6-Nov-07 22:20 
GeneralRe: Visual Studio macros for a VC 6 project Pin
Nelek7-Nov-07 2:04
protectorNelek7-Nov-07 2:04 
GeneralRe: Visual Studio macros for a VC 6 project Pin
Sam Hobbs7-Nov-07 8:34
Sam Hobbs7-Nov-07 8:34 
QuestionOverloaded member functions Pin
KellyR6-Nov-07 11:37
KellyR6-Nov-07 11:37 
AnswerRe: Overloaded member functions Pin
Mark Salsbery6-Nov-07 11:51
Mark Salsbery6-Nov-07 11:51 
GeneralRe: Overloaded member functions Pin
vikramlinux6-Nov-07 19:48
vikramlinux6-Nov-07 19:48 
JokeRe: Overloaded member functions Pin
toxcct7-Nov-07 21:21
toxcct7-Nov-07 21:21 
GeneralRe: Overloaded member functions Pin
AndrewVos8-Nov-07 3:35
AndrewVos8-Nov-07 3:35 
GeneralRe: Overloaded member functions Pin
KellyR7-Nov-07 7:25
KellyR7-Nov-07 7:25 
AnswerRe: Overloaded member functions Pin
Paresh Chitte6-Nov-07 20:30
Paresh Chitte6-Nov-07 20:30 
Questionmfc - animation plus interaction (e.g draw a rotating square and drag it) [modified] Pin
simon alec smith6-Nov-07 11:11
simon alec smith6-Nov-07 11:11 
Answercross-post Pin
led mike6-Nov-07 11:36
led mike6-Nov-07 11:36 
JokeRe: cross-post Pin
Rajesh R Subramanian6-Nov-07 21:15
professionalRajesh R Subramanian6-Nov-07 21:15 
AnswerRe: mfc - animation plus interaction (e.g draw a rotating square and drag it) Pin
Hamid_RT6-Nov-07 19:03
Hamid_RT6-Nov-07 19:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.