Giter Site home page Giter Site logo

navinsubramani / labview-script-language Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 2.0 12.35 MB

Developing a platform to develop scripts, compile and execute it in the LabVIEW development or run time environment

License: MIT License

LabVIEW 92.90% LSL 4.28% HTML 2.82%

labview-script-language's People

Contributors

navinsubraman avatar navinsubramani avatar pranay001 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ciozi137

labview-script-language's Issues

Array Input and Display bugs.

Bug with displaying array.

  1. In the VI "D:\TOOLS\LSL\source code\LSL components\data types\Variant to Datatype.vi", data conversion from variant to array types is not handled. please check if the below method of implementation is correct.
    image

"Array Constants"

  1. How to represent 1D and 2D array constants in the program.

Comparative operation for Boolean

Since the Comparative Operation like '==' is handled separately for each data type under its corresponding datatypes operation - Bool is not handled

print(True==True)
print(True==False)

Numeric Comparison function

Add functions that make comparison actions on the numeric.

Equal to
Not Equal to
Greater than
Greater than or equal to
Lesser than
Lesser than or equal to

While loop indentation problem

Scenario: consider the while loop code as shown below.

a=0
while(a<10)
->a=a+1
->print(a)

Reason:
the a<10 in while loop will be validated only during Run init core., but it has to executed each time during the loop executes.

So did a similar implementation as Run init core inside Run pre core, and It works well. except for the scenario shown above. because a=a+1 cannot access "a" value which is inside while loop.(due to one intend back)

Create VIP package file for the LSL framework

  1. Create a Package for the LSL framework that contains all the components
  2. Update the capability to work with factory patterns
  3. VIP should install the packages in the user library
  4. Drop the example VI's in the proper location

Run the LSL script from Notepad++

Create a hook to Notepad++ that runs the script.

LSL can be created as a EXE or DLL that will be called from the Notepad++ to execute. This will provide a temporary interface for LSL

Create CHM documentation for all functions

For every function child that is created and instantiated documentation should be added to the 'Framework Documentation' chm file. the source of the files are present under the documentation folder and the build CHM file placed under source code/support files.

This CHM should be populated from the Main User Interface using a generic API

Modulo Operator Not Working

when running the code, a = 3 % 4, LSL is throwing an error telling invalid syntax. but we have syntax defined as a part of numeric functions.

Please let me know whether "%" cannot be used in LSL.

input function to get data from user.

A simple function which can get inputs from the user will be highly helpful.

We can get string data alone, user can further user typecast function to convert the data to appropriate data types.

String operations syntax defining

Please comment your opinion on the below syntax formats and also add if few other functionalities are required.

String functions:

String length.
Syntax: strlen($string$)

Concat string
Syntax: concat($a$,$b$)

Substring
Syntax: substr($string$,$offset$,$length$)

Toupper case
Syntax: toupper($string$)

Tolower case
Syntax: tolower($string$)

Is empty?
Syntax: isempty($string$)

Jump functions

Jump to label
Break out of the loop
continue to start off the loop

Bitwise Operations

Navin, shall we add bitwise operations as a part of numeric operations plugin or shall we create a new function? please find the below image to get different bitwise operations that can be handled.
image

please comment if you would like to add few more bitwise operations.

Create function definition

Using the indent and available function, the developer should be able to create functions on the script and provide definition to it. Later point this function can be called for execution.

Function definition:

def <function_name>(,,..)
->...
->...

Function execution:

exec <function_name>(,,..)

support for unary operations

we need to add support for unary operations such as

  • increment (i++)

  • decrement(i--)

the backend has to be updated to support this functionality.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.