Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!nx02.iad01.newshosting.com!newshosting.com!198.186.194.249.MISMATCH!transit3.readnews.com!news-out.readnews.com!news-xxxfer.readnews.com!news.misty.com!news.iecc.com!nerds-end From: "Pascal J. Bourguignon" Newsgroups: comp.programming,comp.compilers,comp.editors Subject: Re: New editor/Integrated Development Environment/compiler Date: Sun, 10 Apr 2011 20:53:32 +0200 Organization: Informatimago Lines: 41 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <11-04-017@comp.compilers> References: <11-04-009@comp.compilers> <11-04-014@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: gal.iecc.com 1302535759 76628 64.57.183.58 (11 Apr 2011 15:29:19 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Mon, 11 Apr 2011 15:29:19 +0000 (UTC) Keywords: tools, editor Posted-Date: 11 Apr 2011 11:29:19 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== Xref: x330-a1.tempe.blueboxinc.net comp.programming:197 comp.compilers:84 comp.editors:56 Hans-Peter Diettrich writes: > HiramEgl schrieb: > >> Therefore, I see all these elements as branches and leaves of a big >> tree-structure (the SOURCE-STRUCTURE). > > Where do you want to start and stop building that tree? > > To start you need kind of a project, that contains a number of source > modules, which then refer to other modules or interfaces, depending on > the source language; C uses #include for importing external > declarations, Pascal dialects have "uses" for the same purpose. How > shall your editor find the related files? In the case of C, where > shall your editor find the definitions, related to the imported > declarations? At least you'll need according parsers, for every > supported language and compiler. > > Do you want to recurse down into every additional external > declaration, including all libraries used in the project? In the case > of Free Pascal this requires to add not only a compiler attribute and > related search pathes to the configuration, but also for the target > machine, OS and (Lazarus) widgetset. > > Your approach looks nice, as soon as such a structure tree exists, but I > see the biggest problems just in the construction of that tree. Indeed, it's much easier to do it when your environment is really Integrated, that is, Image based, like Smalltalk systems or Lisp Machines. But it's not impossible with thicker external components. After all, even on a Lisp Machine or in a Smalltalk environment, the hardware is not included in the environment. And it could be argued that having access to the kernel (being able to see its sources, its state, and being able to modify it while it's running), while fine when developing this kernel, would not be too wise for an application programmmer. -- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}.