Re: Need to write a language
Peter Hodge wrote: [...] Hello, As well as completing words, it would be very helpful if you wrote a syntax file for your language. If your users see things in color, they can be sure they have typed the commands correctly, but if the text is *not* colored, then ...or if it is highlighted as Error (by default, white on red)... they will know they've got something wrong. Something else you may want to consider - Map to call a perl script which examines the line under the cursor and prints a message explaining what needs to be typed next. regards, Peter Vim can interface with perl, python, ruby, tcl and/or mzscheme but only if the corresponding interface is compiled-in and if the necessary libraries are present (and can be found) at both compile-time and runtime. "Plain" vimscript is usually enough to program anything that Vim can do. Best regards, Tony.
RE: Need to write a language
Thanks, eveything soundes goo so far. I'll just have to determine if I can create the language for more of the difficult rules > -Original Message- > From: Peter Hodge [mailto:[EMAIL PROTECTED] > Sent: Wednesday, October 25, 2006 6:04 PM > To: Billy Patton; vim@vim.org > Subject: Re: Need to write a language > > --- Billy Patton <[EMAIL PROTECTED]> wrote: > > > I'm in the semiconductor industry. My job is to create data and to > > run regression tests on that data for the validation of > physical layout rules. > > > > Skip to bottom for questions, if you don't want to read my > ramblings. > > > > > > The current problem is tha the rules are not in a computer > readable form. > > Many paople have a hand in writing different sections of > the rules, so > > you can imagine that the wording is widely varied. There is no > > standard to wording or even the dialog used. > > > > One of the things I have been ask to do is to try and get a > handle on > > how the rules may be written that that they are computer readable. > > I've been working with perl hash's and excel spread sheets. > > The main problem I was having was that I was trying to decreace the > > relationship words and increase the number of variables. This was > > quickly resulting in a spread sheet that was growing (number of > > columns) very rapidly. I assume excel has a limit to the > number of columns. > > > > The idea that I have come up with is to create a language > with limited > > descriptive words. Here is an example of a rule that might > be written > > in a human readable form but also parsable by puter. > > > > MET1 spacing to MET1 is 45 if MET1 width is <= 245 and >= 100 > > > > By looking at this > > MET1 is a layer > > Spacing width <= >= are relationships > > If is a constraint > > #'s are #'s > > > > I want to have them write correct by construction. > > > > Is it possible, in vim/gvim to open a special version of > vim so that > > the user can begin to type, spac , and it would complete the word? > > Would it also be possible to not allow a word to be type'd if that > > word was not in a list. > > > > Vim would have to open in edit mode and remain there for > most users, > > until save/exit. Most of the users of this would be hard core pc > > users who think the only editor is "word". But there are a > few unix users. > > > > My questions. > > 1. Can vim be configured to automatically start in edit mode? > > 2. Can vim monitor each word that is being typed? > > 3. Can vim do word completion? > > 4. Can vim offer all possible spellings for partial word completion? > > If the answer to most of qeustion above is yes 5. Can I do the > > programming? I do perl, c, c++, csh and sh programming. > > > Hello, > > As well as completing words, it would be very helpful if you > wrote a syntax file for your language. If your users see > things in color, they can be sure they have typed the > commands correctly, but if the text is *not* colored, then > they will know they've got something wrong. > > Something else you may want to consider - Map to call a > perl script which examines the line under the cursor and > prints a message explaining what needs to be typed next. > > regards, > Peter > > > > > > On Yahoo!7 > Win VIP tickets to meet R'n'B stars superstars Ne-Yo and > Rihanna > http://advision.webevents.yahoo.com/aunz/music/jay_z_promotion > /index.htm > >
Re: Need to write a language
On Wed, Oct 25, 2006 at 06:42:15PM -0400, Karl Guertin wrote: > On 10/25/06, Billy Patton <[EMAIL PROTECTED]> wrote: > > >My questions. > >1. Can vim be configured to automatically start in edit mode? > > Yes, but I forget what the setting is, you can just push it into > insert mode when you enter a buffer if nothing else. Add :set insertmode :help 'insertmode' > >3. Can vim do word completion? > > Many types. :help completion Especially read :help 'complete' :help 'dictionary' You may also find something worth borrowing in my word-completion plugin: http://vim.sourceforge.net/scripts/script.php?script_id=73 > >4. Can vim offer all possible spellings for partial word completion? > > It does by default and you can view them as a menu if you're using Vim > 7. If you want to provide a list of possible words to be completed, it > can be done by creating a ctags file. > > :help completeopt I am not sure why you suggest a tags file, unless you intend :set complete=t I was thinking of :set complete=k/path/to/babylanguage.txt > >If the answer to most of qeustion above is yes > >5. Can I do the programming? I do perl, c, c++, csh and sh programming. > > Most vim scripting is done in vimscript, which I consider to be fairly > close to bash/sh. You can also do scripting in Python. I'm not sure > about the perl interface. I suggest looking at some of the files in $VIMRUNTIME/plugin/ to get an idea of what you can do with a vim script. Then it helps to look at the list of built-in functions, :help functions HTH --Benji Fisher
Re: Need to write a language
--- Billy Patton <[EMAIL PROTECTED]> wrote: > I'm in the semiconductor industry. My job is to create data and to run > regression tests on that data for the validation of physical layout rules. > > Skip to bottom for questions, if you don't want to read my ramblings. > > > The current problem is tha the rules are not in a computer readable form. > Many paople have a hand in writing different sections of the rules, so you > can imagine that the wording is widely varied. There is no standard to > wording or even the dialog used. > > One of the things I have been ask to do is to try and get a handle on how > the rules may be written that that they are computer readable. > I've been working with perl hash's and excel spread sheets. > The main problem I was having was that I was trying to decreace the > relationship words and increase the number of variables. This was quickly > resulting in a spread sheet that was growing (number of columns) very > rapidly. I assume excel has a limit to the number of columns. > > The idea that I have come up with is to create a language with limited > descriptive words. Here is an example of a rule that might be written in a > human readable form but also parsable by puter. > > MET1 spacing to MET1 is 45 if MET1 width is <= 245 and >= 100 > > By looking at this > MET1 is a layer > Spacing width <= >= are relationships > If is a constraint > #'s are #'s > > I want to have them write correct by construction. > > Is it possible, in vim/gvim to open a special version of vim so that the > user can begin to type, spac , and it would complete the word? > Would it also be possible to not allow a word to be type'd if that word was > not in a list. > > Vim would have to open in edit mode and remain there for most users, until > save/exit. Most of the users of this would be hard core pc users who think > the only editor is "word". But there are a few unix users. > > My questions. > 1. Can vim be configured to automatically start in edit mode? > 2. Can vim monitor each word that is being typed? > 3. Can vim do word completion? > 4. Can vim offer all possible spellings for partial word completion? > If the answer to most of qeustion above is yes > 5. Can I do the programming? I do perl, c, c++, csh and sh programming. Hello, As well as completing words, it would be very helpful if you wrote a syntax file for your language. If your users see things in color, they can be sure they have typed the commands correctly, but if the text is *not* colored, then they will know they've got something wrong. Something else you may want to consider - Map to call a perl script which examines the line under the cursor and prints a message explaining what needs to be typed next. regards, Peter On Yahoo!7 Win VIP tickets to meet R'n'B stars superstars Ne-Yo and Rihanna http://advision.webevents.yahoo.com/aunz/music/jay_z_promotion/index.htm
Re: Need to write a language
On 10/25/06, Billy Patton <[EMAIL PROTECTED]> wrote: I assume excel has a limit to the number of columns. I believe the max is 65000 but that may be increased by now. Is it possible, in vim/gvim to open a special version of vim so that the user can begin to type, spac , and it would complete the word? Yes. Would it also be possible to not allow a word to be type'd if that word was not in a list. Harder, but probably. My questions. 1. Can vim be configured to automatically start in edit mode? Yes, but I forget what the setting is, you can just push it into insert mode when you enter a buffer if nothing else. 2. Can vim monitor each word that is being typed? You can remap the spacebar to trigger a function without difficulty or you can monitor every keystroke if you want something fancier. :help map.txt :help map-arguments :help autocmd :help autocmd-events 3. Can vim do word completion? Many types. :help completion 4. Can vim offer all possible spellings for partial word completion? It does by default and you can view them as a menu if you're using Vim 7. If you want to provide a list of possible words to be completed, it can be done by creating a ctags file. :help completeopt If the answer to most of qeustion above is yes 5. Can I do the programming? I do perl, c, c++, csh and sh programming. Most vim scripting is done in vimscript, which I consider to be fairly close to bash/sh. You can also do scripting in Python. I'm not sure about the perl interface.