+ Reply to Thread
Results 1 to 10 of 10

Thread: Is there any interest in a vEdit Macro Language Syntax Checker?

  1. #1

    Is there any interest in a vEdit Macro Language Syntax Checker?

    Hello:

    I am planning on defining a grammar for the vEdit Macro Language, based on the description in the vEdit Macro Language Manual.

    Using a compiler-generator, I will create a syntax checker designed to locate the position of syntax errors in vEdit Macros.

    Sincerely
    Carl Glassberg
    Last edited by CarlG; August 7th, 2017 at 09:34 AM.

  2. #2
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291

    Great Idae !

    Quote Originally Posted by CarlG View Post
    Hello:

    I am planning on defining a grammar for the vEdit Macro Language, based on the description in the vEdit Macro Language Manual.

    Using a compiler-generator, I will create a syntax checker designed to locate the position of syntax errors in vEdit Macros.

    Sincerely
    Carl Glassberg
    Hi Carl,

    This is a great idea. Although I am not a programmer, I would appreciate getting update on your plans/progress.


    -peter

  3. #3
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291
    Quote Originally Posted by CarlG View Post
    Hello:

    I am planning on defining a grammar for the vEdit Macro Language, based on the description in the vEdit Macro Language Manual.

    Using a compiler-generator, I will create a syntax checker designed to locate the position of syntax errors in vEdit Macros.

    Sincerely
    Carl Glassberg
    Carl,

    I am re-reading your message. Now I have a more specific reaction.

    The simplest possible Vedit ssyntax error is the mis-speliing of a Vedit command.
    This question has been studied by Scott Lambert, although from a different point of view:
    Scott wrote our spell checker, Scribe.vdm, that came with our Vedit distribution.\
    As a "by product" of his sppell checker, he also wrote a dictionary file for the Vedit programming language.
    He called it vedit.vdf, Vedit Dictionary File. He posted it on the old Bulletin Board and I have copied it to the new one,
    under the thread, Feedback on Vedit.vdf.

    I have a hunch that your point of view is different from the one of Scott, inasmuch as your work will be based on " the description in the vEdit Macro Language Manual".


    Looking forward from hearing from you.

    -peter

  4. #4
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291
    Quote Originally Posted by rejto12 View Post
    Carl,

    I am re-reading your message. Now I have a more specific reaction.

    The simplest possible Vedit ssyntax error is the mis-speliing of a Vedit command.
    This question has been studied by Scott Lambert, although from a different point of view:
    Scott wrote our spell checker, Scribe.vdm, that came with our Vedit distribution.\
    As a "by product" of his sppell checker, he also wrote a dictionary file for the Vedit programming language.
    He called it vedit.vdf, Vedit Dictionary File. He posted it on the old Bulletin Board and I have copied it to the new one,
    under the thread, Feedback on Vedit.vdf.

    I have a hunch that your point of view is different from the one of Scott, inasmuch as your work will be based on " the description in the vEdit Macro Language Manual".


    Looking forward from hearing from you.

    -peter

    Carl,

    I did a little bit more thinking about your project.
    Then, I did prepare a text file version of the Index of the Vedit Macro Language Manual. I called it vplus60_Index.txt
    I wonder, whether you think that that is a good warmup execcise for your ambitious project ?

    Now, let me give you a progress report on my project Some time ago I had some intensive e-mail correspondence with Scott Lambert. But then, alll of a sudden this came to an end.
    n particular we had sveral e-mail exchanges about his vedit.vdf file. In short, I would like to extract the Vedit Commands from my vplus60_Index.txtx file and add them to Scotts vedit.vdf file.

    I shall keep you posted about my progress. At the samee time I am asking you to keep me posted about your progress on your project.


    -peter
    Last edited by rejto12; August 27th, 2017 at 05:14 PM. Reason: correct typo

  5. #5
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291
    Quote Originally Posted by rejto12 View Post
    Carl,

    I did a little bit more thinking about your project.
    Then, I did prepare a text file version of the Index of the Vedit Macro Language Manual. I called it vplus60_Index.txt
    I wonder, whether you think that that is a good warmup execcise for your ambitious project ?

    Now, let me give you a progress report on my project Some time ago I had some intensive e-mail correspondence with Scott Lambert. But then, alll of a sudden this came to an end.
    n particular we had sveral e-mail exchanges about his vedit.vdf file. In short, I would like to extract the Vedit Commands from my vplus60_Index.txtx file and add them to Scotts vedit.vdf file.

    I shall keep you posted about my progress. At the samee time I am asking you to keep me posted about your progress on your project.


    -peter
    I did not succeed in uploading my file, vplus60_Index.txt. THe reason was that it was too large. So, I did cut it up into two.


    Her we go,
    Attached Files Attached Files

  6. #6
    Hello Peter:

    Those index files are a great assist in writing vEdit Macros and accessing the vEdit PDF manuals in general.

    I don't think the syntax for vEdit Macro Language ["vML"] itself will delineate all the Command names. More likely, a Command will have the syntax rule:

    Command = identifier "(" [argument_list] ")" .

    Then, a semantic phase will lookup the identifier in a table to check that it is even in the list of vEdit Commands and perhaps check the spelling. So those index files will be useful in developing these additional checks on the Command names.

    I am making rapid progress on the "easier" part of "vML" and have a preliminary but partial grammar that only includes rules for vML statements and expressions.

    Sincerely
    Carl Glassberg

  7. #7
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291
    Hi Carl,

    It was great to hear that you are making rapid progress on the "easier" part of vML. I am really looking forward to seeing and using it.

    I am sure glad that you are looking at the "easier" part. I do not have a programming background and I am sure that the "easy"part will keep me busy for some time.

    In other words, I do hope that you will release the "easy" part on its own.


    -peter
    -peter
    Last edited by rejto12; September 5th, 2017 at 09:32 PM. Reason: typo

  8. #8
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291
    Hi Carl,

    I am re-reading your message. Just a thought. Would be possible to include whether a given command does or does not take a text register as an argument. ?

    For example as per the On_Line_Help the Search command does accept a text register as an argument. I also know from experimentation that the Compare(b+BUFFER) does not accept for b, the buffer number, a text register.
    But I do not know the general case.


    -peter

  9. #9
    Hello Peter:

    I mis-spoke when I said all Commands will be in the form of the EBNF rule:

    Command = identifier "(" [argument_list] ")" .

    Most Commands will be of that form, so the actual name of the identifier string will be extracted and then searched for in a table of all Commands. The allowable arguments and other details for each command name could be stored in such a table. Most likely the name would "link", through indirection, to that additional information.

    But I will have a few commands spelled out by exact name in the grammar, such as "Return", "Break", etc.

    The parser checks whether the user has highlighted any text. If yes, the tool reads only that selection as its input. If no text is selected, the parser takes as its input the entire Window.

    Carl

  10. #10
    Senior Member
    Join Date
    Nov 2014
    Location
    Minneapolis, MN
    Posts
    291
    Quote Originally Posted by CarlG View Post
    Hello Peter:

    I mis-spoke when I said all Commands will be in the form of the EBNF rule:

    Command = identifier "(" [argument_list] ")" .

    Most Commands will be of that form, so the actual name of the identifier string will be extracted and then searched for in a table of all Commands. The allowable arguments and other details for each command name could be stored in such a table. Most likely the name would "link", through indirection, to that additional information.

    But I will have a few commands spelled out by exact name in the grammar, such as "Return", "Break", etc.

    The parser checks whether the user has highlighted any text. If yes, the tool reads only that selection as its input. If no text is selected, the parser takes as its input the entire Window.

    Carl
    Carl,

    Thanks for the update. I think that for such an ambitious project an "mis-spoke" is inevitable.

    Now things are getting more technical. So, I am suggesting that you should start a new thread.


    -peter

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts