Re: Need to write a language

2006-10-26 Thread A.J.Mechelynck

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

2006-10-26 Thread Billy Patton
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

2006-10-25 Thread Benji Fisher
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

2006-10-25 Thread Peter Hodge
--- 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

2006-10-25 Thread Karl Guertin

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.