To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 4078
4077  |  4079
Subject: 
LDS ver 0.28
Newsgroups: 
lugnet.cad, lugnet.cad.dev
Date: 
Wed, 23 Feb 2000 23:58:49 GMT
Viewed: 
266 times
  
http://home2.swipnet.se/~w-20413/lds/lds.htm
Added in 0.28:
* IF-THEN-ELSE-END IF
* GOTO
Fixed a bug in the LINE command.


/Tore


Tore Eriksson wrote:

> The new version (v0.27) of LDraw Script Compiler has a couple of (IMHO) useful new features:
> 
> * 3-D Points can be added, subtracted, and multiplied with each other. (At last, Steve!)
> Syntax:
> P1 [=] P2 [+ | - | *] P3
> Examples:
> P1 = P2 + P3
> is equal to:
> X1=X2+X3
> Y1=Y2+Y3
> Z1=Z2+Z3
> 
> P33 P33 0 -4 0
> subtracts 4 from Y33, leaving X33 and Z33 as they are.
> 
> P22 Z12 Y12 X12 * 1 1 -1
> is equal to:
> X22=Z12
> Y22=Y12
> Z22=X12*-1
> 
> * Indirect addresses
> Example:
> I=5
> PRINT X(I+5)
> outputs the value of X10
> 
> * Parenthesis in math. functions.
> This feature came accidently, as a bonus while I made the indirect addresses!
> As you may have noticed, LDS cannot handle the hierarchy of maths functions.
> A=5*2+1 will be interpreted as A=5*(2+1) = 15 (See the pseudo-code below).
> Now, with parentheseis, is is easier to predict the order of the calculations:
> A=(5*2)+1 will set A=11
> 
> Some pseudo-code to illustrate the reason why LDS interprets without hierarchy considerations.
> float interpret(char *inw)
> {
>  float ret;
>  in func;
>  if(func) // i e if an operand is encountered
>  {
>     (pseudo) extract inw into first_expression - func - the_rest
>     // where func is a number representing an operand
>     switch(func)
>     {
>        case PLUS:
>        ret=interpret(first_expression) + interpret(the_rest);
>        break;
> 
>        case MINUS:
>        ret=interpret(first_expression) - interpret(the_rest);
>        break;
>        ... and so on
>     }
>  else // not a function
>  {
>     if(!strcmpi(w,"BLACK")) return(0);
>     if(!strcmpi(w,"BLUE")) return(1);
>    ...
>   }
>   return (ret);
>  }
> 
> * And don't forget to download Anders Isaksson's LDS Shell program.
> http://user.tninet.se/~hbh828t/dat/ldsshell.zip
> 
> If you have any questions, feel free to ask me.
> 
> /Tore



Message has 1 Reply:
  Re: LDS ver 0.28
 
(...) Good!! (...) Reasoning for GOTO? GOTO is a construct which can very easily be abused. better to have "proper" strcutures likw while-DO, repeat-until etc. Alex (27 years ago, 24-Feb-00, to lugnet.cad, lugnet.cad.dev)

Message is in Reply To:
  LDS ver 0.27 - Great News!
 
(URL) new version of LDraw Script Compiler has a couple of (IMHO) useful new features: * 3-D Points can be added, subtracted, and multiplied with each other. (At last, Steve!) Syntax: P1 [=] P2 [+ | - | *] P3 Examples: P1 = P2 + P3 is equal to: (...) (27 years ago, 17-Feb-00, to lugnet.cad, lugnet.cad.dev)

9 Messages in This Thread:



Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR