Coder Social home page Coder Social logo

cwbudde / dwscript Goto Github PK

View Code? Open in Web Editor NEW
58.0 8.0 22.0 196.38 MB

DWScript is an object-oriented scripting engine for Delphi based on the Delphi language, with extensions borrowed from other Pascal languages.

Pascal 99.64% Batchfile 0.01% C++ 0.01% PHP 0.01% Assembly 0.16% JavaScript 0.19% Pawn 0.01%
delphi web script general-purpose pascal-language pascal-compiler object-pascal dwscript

dwscript's Introduction

DelphiWebScript Project

Main repository and issue tracker is at https://bitbucket.org/egrange/dwscript/ and a GitHub mirror is at https://github.com/EricGrange/DWScript

DWScript is an object-oriented scripting engine for Delphi based on the Delphi language, with extensions borrowed from other Pascal languages (FreePascal, Prism, etc.). It introduces a few Pascal language extensions of its own as well.

Goals of the project go beyond web usages, and cover general purpose scripting.

To get started see FirstSteps or [Language], for news see the posts tagged "DWS" at DelphiTools.info. You can also have a look at the [FAQ]. If you have other questions related to DWScript programming, usage or integration, StackOverflow is a good place to ask them. For bugs, use the Issues tracker.

This project is currently maintained by Eric Grange (http://delphitools.info), and sponsored by Creative IT, it is based on original DWS2 by Matthias Ackermann (http://sourceforge.net/projects/dws/) initiated way back in the last century.

DWScript lead platform is currently Delphi 10.3, compatibility with older Delphi version is not officially maintained, it may work, or it may not.

Licensing

DWScript is released under Mozilla Public License 1.1 which, in short, means that it's free to use in open or closed source projects, free or commercial, provided you honor the following requirements:

  • any application that makes use of DWScript, or is compiled by DWScript should "conspicuously" include a reference to DWScript in its credits, and include or link to the DWScript source files.
  • modification to the source have to be made public under MPL. If you can't or don't want to satisfy the above requirements, contact the project manager for use under other license schemes.

The JavaScript CodeGen is currently licensed under GPL v3.

Fork notes

This is my private fork, which might run out of sync with the original repository over time.

dwscript's People

Contributors

cwbudde avatar ericgrange avatar idealsoftware avatar sivv avatar stebi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dwscript's Issues

eRROR BUILD IndyWebServer

ERROR DEMO IndyWebServer

[dcc32 Error] dwsDatabaseLibModule.pas(576): E2003 Undeclared identifier: 'AsData'
[dcc32 Fatal Error] DSimpleDWScript.pas(39): F2063 Could not compile used unit 'dwsDataBaseLibModule.pas'

LINE 56
ids:=dbo.Intf.Query(Info.ParamAsString[0], scriptDyn.AsData, Info.Execution.CallStackLastExpr);

IScriptDynArray property 'AsData' not exists

procedure TdwsDatabaseLib.dwsDatabaseClassesDataBaseMethodsQueryEval(

Which repo to use? (BitBucket/GitHub)

Doesn't seem obvious - what's the purpose of two different repos?

The GitHub version seems to have more package files, and extra files for Delphinus but source code differs from Eric's BitBucket repo.

Suggest updating the main readme

Assign anonymous record to variant

Hello,
Why are "Anonymous record" not compatible with "Variant"? I tried to use CodeGen from dws program bellow:

program Test;

type TFunc = function(y: integer): integer;

procedure DoSomething(func: TFunc);
begin
end;

begin
 var t, y: variant;
 t := record
   name = 8;
   height = 10;
   size: record
     name = 'tool';
   end;
 end;
 
 DoSomething(lambda(y) => y+1);
 
 y.name := 7;
 
 t := y;
 
end.

The output is: there are former version of DWS that allow it.
Regards,

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.