FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Updated info on VS.NET 7.0 installation problems
Goto page 1, 2  Next
 
Post new topic   Reply to topic     Forum Index -> DCoder
View previous topic :: View next topic  
Author Message
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Sun Apr 18, 2004 10:20 pm    Post subject: Updated info on VS.NET 7.0 installation problems Reply with quote

Ok, I am still tracking down what the problems are (this is for those people I emailed a beta version to). Bottom line: it doesn't install correctly for VS.NET 7.0.

The registration code in DCoder.dll, generated by the Wizard in the SDK, hard-codes version 7.1 for the registry key, so a VS.NET 7.0 installation still isn't getting initialized correctly after a DCoder install.

OTOH, my installation script actually checks which version you have, and writes the "Packages" GUID to the correct location. (sigh) Ok, we are getting closer. This has really been a PITA so far... my apologies to the beta testers, and thanks again for your patience. Will try to correct this ASAP.
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
sscotteg



Joined: 13 Apr 2004
Posts: 3
Location: Australian Capital Territory

PostPosted: Mon Apr 19, 2004 3:55 am    Post subject: Reply with quote

Dave,

I get nothing in 7.1! THe options know nothing about a 'd' file type and there is no colour syntax.

Can you give me the registry settings and I'll have a look and see if I can figure anything out.

I'll also try unistalling the VSIP
Back to top
View user's profile Send private message
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Mon Apr 19, 2004 8:40 am    Post subject: Reply with quote

sscotteg wrote:
Dave,

I get nothing in 7.1! THe options know nothing about a 'd' file type and there is no colour syntax.

Can you give me the registry settings and I'll have a look and see if I can figure anything out.

I'll also try unistalling the VSIP


Could be because of the earlier test with dservice.dll, but I thought installing this new one should have overwritten those settings.

I'll prepare a post with a list of the registry details. It's more than just having "D" under "Languages" -- you have to have the GUID entered in 3 or 4 places, and a few other things. I will try to get that done this morning.

I'm really amazed at how much trouble it is getting a simple COM DLL to install. Can you imagine an entire OS or a company's product line built with such technology? Smile
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
jcc7



Joined: 22 Feb 2004
Posts: 657
Location: Muskogee, OK, USA

PostPosted: Mon Apr 19, 2004 11:14 am    Post subject: Reply with quote

dsieber wrote:
I'm really amazed at how much trouble it is getting a simple COM DLL to install. Can you imagine an entire OS or a company's product line built with such technology? Smile
I'd bet such a company would consider replacing such a cumbersome technology in favor of some new technology called .NET (which would likely be more cumbersome than the technology it's replacing).
Back to top
View user's profile Send private message AIM Address
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Tue Apr 20, 2004 5:05 pm    Post subject: Reply with quote

Hi , I use download and run the MSI installation , still not getting any recognition of D files for 7.0 , you mentioned a registry key is possible I can change that ?


Also if I remember correctly you are going to try to use the dmd front end as the parser for VS ? If so I'd like to help out.

Thanks,
Z
Back to top
View user's profile Send private message MSN Messenger
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Tue Apr 20, 2004 6:33 pm    Post subject: Reply with quote

qbert wrote:
Hi , I use download and run the MSI installation , still not getting any recognition of D files for 7.0 , you mentioned a registry key is possible I can change that ?


There are several registry entries that have to be created, and I haven't had time to create the document I promised (sorry anyone who is waiting). If you look in the registry under

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio

you'll see the versions installed on your box. If you don't have 7.1 installed, but you see entries under 7.1 in the registry, that's part of the problem -- the SDK code from Microsoft installs in 7.1 if it doesn't find certain other info. You could copy those values over to the 7.0 hive (carefully!) and see if that helps.

If you don't have 7.1 installed, can you check something for me? Run a command prompt and type "SET", see if there is a line like this:

DevEnvDir=C:\MSVS.NET2003\Common7\IDE

or like this:

ENVSDK_REGKEY=7.1Exp


And let me know what values you have.

qbert wrote:
Also if I remember correctly you are going to try to use the dmd front end as the parser for VS ? If so I'd like to help out.


Hang tight for a little while, I want to get the installation issues resolved, and then I will look at how to do the parsing. Are you familiar with the Babel SDK?
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Tue Apr 20, 2004 10:36 pm    Post subject: Reply with quote

dsieber wrote:


DevEnvDir=C:\MSVS.NET2003\Common7\IDE

or like this:

ENVSDK_REGKEY=7.1Exp




Hmm neither of those variables exist, in fact the only variables that refrence VS.net are the LIB and INCLUDE, along with

VSCOMNTOOLS="C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\"

I have keys for 6 - 7.1, but only 6 - 7.0 installed, it looks like the 7.1 entry has only 2 subkeys , one for XT ( a MFC toolkit ) and under Packages

C:\Program Files\Common Files\Microsoft Shared\Babel\7.0\BabelPackage.dll , which exists for 7.0 also.

dsieber wrote:

Hang tight for a little while, I want to get the installation issues resolved, and then I will look at how to do the parsing. Are you familiar with the Babel SDK?


No not familiar , Im actually interested in having the parser for another project, so I had hoped we could get a basic D parser, then have a sort of plug and play thing going on for the backend.
Back to top
View user's profile Send private message MSN Messenger
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Tue Apr 20, 2004 10:59 pm    Post subject: Reply with quote

qbert wrote:


Hmm neither of those variables exist, in fact the only variables that refrence VS.net are the LIB and INCLUDE, along with

VSCOMNTOOLS="C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\"


Ok, you're the second case of this: apparently the key I'm looking for, as per the documention, is not there for 7.0. And the Wizard-generated code for the language service hard-codes 7.1 if the key is not found. So that's the bug (or at least one of them Smile)

Quote:
C:\Program Files\Common Files\Microsoft Shared\Babel\7.0\BabelPackage.dll , which exists for 7.0 also.


The Babel stuff is put there by my installer.

Quote:
No not familiar , Im actually interested in having the parser for another project, so I had hoped we could get a basic D parser, then have a sort of plug and play thing going on for the backend.


Ah, right. There has been a couple of inquiries about this, and I think it would be a good thing to have. Have you checked out Walter's front-end code? It's good and clean, and I think adaptable. And it's the only real documentation on the exact nature of the language (poor guy is swamped, and the grammar on the D site is not complete), and you get all his error checking too.

The reason I asked about Babel is that it looks like that's the most challenging part for me, in order to get Intellisense working. I'll have to muck around with the parser (whichever one I use) quite a bit. Babel can work from a yacc grammar, and you add in all sorts of code for parameters, scopes, brace matching, name matching, etc, so a complete grammar would help me out a lot too. But every time I think about using yacc again, I quickly go look at Walter's code and hope it'll work instead Smile.
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Fri Apr 23, 2004 11:31 am    Post subject: Reply with quote

Quote:
Ah, right. There has been a couple of inquiries about this, and I think it would be a good thing to have. Have you checked out Walter's front-end code? It's good and clean, and I think adaptable.


Yes Ive looked over it, it is clean ( C style C++ it looks like ), but it is huge, and the backend is indiscrimantly mixed in, so you cant tell which is a part of which. Ive narrowed down the unresolved symbols to about 150 or so, 1 by 1, but im afraid to do it like this, because in the end i doubt the program will do anything.

Quote:

But every time I think about using yacc again, I quickly go look at Walter's code and hope it'll work instead .


Yea, ive honestly never had much luck with it Sad. Its a rock and a hardplace for sure, let me know when you have some time ? Make we can hash out the best method to get a working parser.

Thanks!
Charles
Back to top
View user's profile Send private message MSN Messenger
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Fri Apr 23, 2004 1:13 pm    Post subject: Reply with quote

qbert wrote:
Yes Ive looked over it, it is clean ( C style C++ it looks like ), but it is huge, and the backend is indiscrimantly mixed in, so you cant tell which is a part of which. Ive narrowed down the unresolved symbols to about 150 or so, 1 by 1, but im afraid to do it like this, because in the end i doubt the program will do anything.


I have compiled it, but I did not try to link it yet, so perhaps there will be some more problems. But any code that referenced the back-end, I just removed that source file Smile

Also, mars.c is the main startup code for the command line compiler, so of course there is stuff there which will would not be used for other applications. You definitely would have to hack it up a bit.

Quote:
Yea, ive honestly never had much luck with it Sad. Its a rock and a hardplace for sure, let me know when you have some time ? Make we can hash out the best method to get a working parser.


I started a Yacc grammar, but have got only a fraction done. It is difficult because the grammar spec on the Digital Mars site is incomplete and even wrong in some places. The declarations are the hardest part, it seems, and the spec is very confusing: Decl, DeclDef, Declaration, Declarator, Declarator2 -- what the hell are they supposed to be? Smile

If you want, I could give you what I have so far (not much, and it's messy!) and you can see if you can work with it. I also have a Flex lexer, which works but remember that I wrote it for Babel syntax highlighting, so it does a few non-standard things. Same for the yacc grammar.

But I think -- for DCoder -- that using Walter's code is the way I should go. It will take some work to fit it into Babel for Visual Studio, but I think that is easier, and less work, than creating a grammar from scratch (especially because the online language spec for D is not complete).
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Sun Apr 25, 2004 12:34 pm    Post subject: Reply with quote

Yea could you send me what you have for the frontend ? I've just been using the dmd download and some stubs created by opend , dli.

Im at charles@jwavro.com

Gracias,
Carlos
Back to top
View user's profile Send private message MSN Messenger
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Mon Apr 26, 2004 8:36 am    Post subject: Reply with quote

qbert wrote:
Yea could you send me what you have for the frontend ? I've just been using the dmd download and some stubs created by opend , dli.


Sure Carlos, I'll email them to you this morning. Just remember that both of them (the Flex lexer and the Yacc parser) have some Babel-related things in them.

For instance, for syntax highlighting with Babel the lexer must return a token for everything that will be colored, but in a real lexer you may not want to have separate tokens for everything (regular string vs. Wysisyg string vs Hex string, for instance). And it must return a token at the end of each line, which isn't really right for multi-line comments or strings. It has start states for these (and other things), where in a real lexer you would ignore comments and grab entire strings as a single token. Things like that.

The Yacc parser knows about the multiple strings, and handles them, and Babel filters out the comments so that they never get to the parser, so somehow it all "works" Smile

The Yacc parser is only partially complete, but what I have done so far works. I've kept it down to 0 shift/reduce conflicts and 0 reduce/reduce conflicts in what I had got done, which is the goal. I was adding one thing at a time and making sure it worked. Some items are commented out, until I get them working, and some items are just stubs.

I may post all of the source I have in case anyone else wants to work on it. I think I've lost my interest in D for now, but I may check it out after 1.0 is finished, and see how the issues were resolved.
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Mon Apr 26, 2004 12:12 pm    Post subject: Reply with quote

Wow good stuff! Quite a bit done it seems. I cant belive you managed 0 confilcts, even GCC's grammar has some 100+ . This'll do nicely, I will try to work my way through it ( itll be slow going for sure ) , and if anyone wants the updates just let me know.

Quote:
I think I've lost my interest in D for now, but I may check it out after 1.0 is finished, and see how the issues were resolved.


That sucks, hate to see you go. To be honest though Im waiting for 1.0 too, think i've burnt myself out ( though I still use D sometimes at work so its cool ).

Hope to see you back here!

Charles
Back to top
View user's profile Send private message MSN Messenger
dsieber



Joined: 27 Mar 2004
Posts: 16

PostPosted: Mon Apr 26, 2004 1:25 pm    Post subject: Reply with quote

qbert wrote:
Wow good stuff! Quite a bit done it seems. I cant belive you managed 0 confilcts, even GCC's grammar has some 100+ . This'll do nicely, I will try to work my way through it ( itll be slow going for sure ) , and if anyone wants the updates just let me know.


LOL -- don't be too impressed, it's incomplete and I left all the hard parts for you Smile. If you can keep it at 0 conflicts, I will be very impressed!

BTW, while I am thinking about it: obviously you can pull out all the actions I wrote in the grammar (all those "babel->" calls). Same in the lexer. I was using Flex and Bison from the Cygwin package, so it should be compatibile with whatever you are using. I do believe, however, that it will not work correctly for non-ASCII source files. This is probably a Flex issue -- just something to be aware of.

Quote:
That sucks, hate to see you go. To be honest though Im waiting for 1.0 too, think i've burnt myself out ( though I still use D sometimes at work so its cool ).


Well, I just have to work on other things, so it's temporary. I am really eager for Walter to make D a great language, but I hope some of the issues are resolved in a good way.

I'll answer any questions you have on the lexer and grammar. Seriously, just ask here, and I get an email notification, and I'll explain anything I was doing. I hate picking up someone else's code and not knowing what they were doing, so I will gladly help you out if you want it.
_________________
dave
Back to top
View user's profile Send private message MSN Messenger
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Wed Jun 02, 2004 10:35 am    Post subject: Reply with quote

Hey dave, hope your emails still valid Smile ,

So im starting on the parser now, I've removed all the babel stuff and it compiles fine, however im using

flex -+ lexer.lex

to create the lexer and

bison parser.y

to create the parser , then compiling them together with G++ ( from cygwin package )

I get errors :

parser.tab.c: In function `int yyparse()':
parser.tab.c:2202: error: `yylex' undeclared (first use this function)
parser.tab.c:2202: error: (Each undeclared identifier is reported only once for

each function it appears in.)
parser.tab.c:2484: error: `yyerror' undeclared (first use this function)

I think its because the parser create is C , and the lexer is C++ . I couldnt find an option to get bison to generate C++ code, I noticed you used parser.hpp in the lex file , I dont see any flags for bison to generate C++ , how can i get it to ? Or how did you compile them ?

Thanks,
Charlie
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> DCoder All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group