NodeScript 1.1.16

There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package NodeScript --version 1.1.16
                    
NuGet\Install-Package NodeScript -Version 1.1.16
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NodeScript" Version="1.1.16" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NodeScript" Version="1.1.16" />
                    
Directory.Packages.props
<PackageReference Include="NodeScript" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NodeScript --version 1.1.16
                    
#r "nuget: NodeScript, 1.1.16"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NodeScript@1.1.16
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NodeScript&version=1.1.16
                    
Install as a Cake Addin
#tool nuget:?package=NodeScript&version=1.1.16
                    
Install as a Cake Tool

NodeScript

Tests Benchmark NuGet Version

NodeScript is a rudimentary programming language designed to function on 'nodes', intended for use in puzzle games. Find more details here

Nodes

  • Input nodes will continuously attempt to send the next line. It has only one output.
  • Regular nodes can take in one string at a time, process it and send it to a set number of outputs. Each node can store a single string in mem. mem is the only variable which will persist between executions.
  • Combiner nodes can merge multiple inputs into one output. It offers no options to choose which string goes through first, picking whatever comes first.
  • Output nodes will consume the lines sent to it, storing it in a string.

Features

  • Basic arithmetic and boolean logic
  • Variables - All variables are global in scope
  • Indexing
    • Element_of: v[i]
    • Slice: v[i:j]
  • Basic control flow (if-else)
  • Native functions for things like:
    • String manipulation
    • Data conversion and parsing
  • Dynamic typing between:
    • string
    • string[]
    • int
    • bool

Notably, there are NO loops within the scripting itself. No while. No for. Execution will occur line by line and will only start when a node receives an input string to be processed.

Syntax

Every line contains a single statement. All statements will start with a relevant keyword for the operation.

  • SET: Sets a variable to a certain value. Variables do not need to be declared. Syntax: SET <variable_name>, <expression>
  • PRINT: Sends a string to a specific output node, denoted by an index. Syntax: PRINT <output_idx>, <expression>
  • RETURN: Ends the program (until the next input comes). Syntax: RETURN
  • IF: Executes the following code if the given expression is true. Syntax IF <expression>
  • ELSE: Executes the following code if the previous if statement was false. Syntax ELSE
  • ENDIF: Marks the end of the IF clause. Either ends the IF code section or the ELSE code section. Only one is needed per IF/ELSE statement. Syntax ENDIF
  • NOP: Does nothing. Helpful for synchronizing the timing of multiple nodes. Syntax NOP
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2.0 119 2/22/2025
1.1.6 90 2/22/2025
1.1.5 90 2/7/2025
1.1.4 109 9/2/2024
1.1.3 92 9/2/2024
1.1.2 104 8/31/2024
1.1.1 95 8/30/2024
1.1.0 109 8/28/2024
1.0.4 109 8/27/2024
1.0.3 104 8/26/2024
1.0.2 116 8/25/2024
1.0.1 120 8/24/2024
1.0.0 135 8/24/2024

Compiler records maximum stack size removing the need for a dynamically resizable stack