Author Topic: AutoLisp IDE Question  (Read 7010 times)

0 Members and 1 Guest are viewing this topic.

pkohut

  • Guest
Re: AutoLisp IDE Question
« Reply #15 on: August 29, 2009, 09:40:55 AM »
call acedEvaluateLisp and put the result on the stack  :laugh:

Hmm, you might be on to something there, a little further digging...
http://www.intellicad.net/forum/topics/intellicad-lisp-debugger?page=1&commentId=2285825%3AComment%3A3361&x=1#2285825Comment3361
and that's your 'noggin / avatar :-)

Now go up 2 messages to the post made by iCadSalescom Jan 27, 2009 at 11:28am.
He gives 2 links to lisp debuggers, these things are OLD, but they shed some light on
a possible approach.

Wheels are turning.

Ok, given this some more thought and I'm not feeling it for acedEvaluateLisp.  It was worth the mental
exercise, but I keep coming up with scenarios that would break the process and have no easy fix.
As for the 2 files mentioned from the Intellicad board, it's kind of a neat trick from what I can understand,
however, the user debugging a lisp app will not have fine control with stepping into and out of code.

For VLIdE, here is my best "birds eye view" guess on implementation
1) I think it implements its own lisp interpreter, some functionality may be passed along to VL.arx and VLLib.dll.
  A) When a file is pushed to AutoCAD it is probably.
    a) building a linked list of s-expressions, also provides paren matching and checking.
    b) builds a stack of break points.
    c) calcs a hash on the file in the editor.
  B) From the AutoCAD command line, the command entered is intercepted and control given to the VLisp interpreter
      where it then -
    a) calcs a new hash and comparing against the old.  If they match then the file is clean (unmodified).
    b) tracks the current s-expression pointer to be evaluated.
        If pointer matches a break point in the stack then the run loop is paused.
2) It is built with and relies heavily on LPP, http://www.interhack.net/projects/lpp/

Again this is skimpy on details, more just gathering / posting thoughts and ideas.



Spike Wilbury

  • Guest
Re: AutoLisp IDE Question
« Reply #16 on: August 29, 2009, 10:14:41 AM »
Another alternative could be if you could convince Tony to use his: LispPad: A nice Windows Lisp Editor by Tony Tanzillo, accompanied in the forthcoming recommendable book "Maximizing AutoLISP" - and ask him for the source code too....

 :lol:

Spike Wilbury

  • Guest
Re: AutoLisp IDE Question
« Reply #17 on: August 29, 2009, 10:20:57 AM »
Also...

There was a lisp beautificator and another for parenthesis match (if I recall way before the arrival of Vital Lisp) - these two were part of a CD addition on release 12 - don't know where I left that CD, maybe still it is in one of my boxes on my wherehouse..... or others here know about them.

Spike Wilbury

  • Guest
Re: AutoLisp IDE Question
« Reply #18 on: August 29, 2009, 10:39:48 AM »
I found them here - among many other old stuff too:

http://www.cadinfo.net/scripts/LISPlib-software.cfm?StartRow=21&areano=45


Also...

There was a lisp beautificator and another for parenthesis match (if I recall way before the arrival of Vital Lisp) - these two were part of a CD addition on release 12 - don't know where I left that CD, maybe still it is in one of my boxes on my wherehouse..... or others here know about them.

pkohut

  • Guest
Re: AutoLisp IDE Question
« Reply #19 on: August 31, 2009, 08:11:36 AM »
Since my last post Friday I've made lots of discoveries, written a lots of code that crashes, and
finally talking with VL via late binding.  Here a list of things accomplished this weekend, pretty
much in order.

  • Wrote some c++ com code with vl16.tlb imported.  Got no where.
  • Downloaded and played with the original XLisp in the public domain.
  • Checked out Openlisp, open as in accessable not open source
  • Ported LPP version 1.21.2 to Windows. I think VLisp is actually using version 1.19
    which is public domain.  Lots had to be done to get this to work, compile and pass
    the regression test.  There is still 1 function in the "big number" library that is
    computing wrong with certain combinations of negative numbers, otherwise everything
    works
  • Checked out VLS (vanilla lisp shell) for emacs.  Pretty much just looked at the code
    and read most of the documentation.
  • Played with XLisp-Plus.  This is a pretty good darn lisp package (UI blows) and is
    extreamly fast.  I did the same test both in it and vlisp.  The vlisp function took
    about 18 seconds to run, and the XLisp-Plus version took about 5.
  • Started working with com code again, only this time doing late binding.  Finally getting
    somewhere with this stuff.  Also found some VBA code from way back by Frank O,  so
    switched to VBA and doing more experiments.
  • Have and idea to try for VL.arx and its exported functions.  I'm thinking that some of
    these have wrappers for the late binding com stuff.  If it's true, then might be able
    to just create a test app using the LPP code and ask VL to hand over some of its
    data, without having to go through com.  If nothing more it might provide information
    about the late binding methods and parameter data.

The goals for the next test is to see a lisp app can be pushed into VL and run.  I know
it can be evaluated, but I'd like to have the app go directly to the lisp app list.  Then
figure out how to attach break points and get some sort of notification back when
triggered.

If anyone has information about any (all) of the late binding functions available in
vl.application.16, that would be very helpful.

TIA,
Paul

Spike Wilbury

  • Guest
Re: AutoLisp IDE Question
« Reply #20 on: August 31, 2009, 11:20:19 AM »
>>•Wrote some c++ com code with vl16.tlb imported.  Got no where.

Just played a little earlier by trying to access into that table, with little luck... not far as it is shown on the attached image... might give it a try later or any other day.
« Last Edit: August 31, 2009, 11:32:40 AM by Esquivel »