FluentScript Releases

Binaries: CommonLibrary.dll
Namespace: ComLib.Lang
Project site: http://fluentscript.codeplex.com/
Download: http://fluentscript.codeplex.com/releases/view/98562
Documentation: http://fluentscript.codeplex.com/documentation
Website: http://www.fluentscript.com
Author: Kishore Reddy
Company: CodeHelix Solutions Inc.

Fluentscript - 0.9.8.12

Application: FluentScript
Version: 0.9.8.12
Build: 0.9.8.12
Changeset: N/A
Release date: March 1st, 2012

Release Status Points Category Title
0.9.8.12 Done 2 Core Logger for fluentscript development with command line option
0.9.8.12 Done 2 Core Setup the script path/name on the parser/tokens for debugging
0.9.8.12 Done 2 Core Minor improvements to exception handling
0.9.8.12 Done 3 Core Create bindings framework




Fluentscript - 0.9.8.11

Application: FluentScript
Version: 0.9.8.11
Build: 0.9.8.11
Changeset: N/A
Release date: March 1st, 2012

Release Status Points Category Title
0.9.8.11 Done 2 Core Finish up javascript plugins for day relative, date named and do testing
0.9.8.11 Done 2 Core Grammar fixes ( "dayValue" instead of "day-value", check for ";", EOF terminators in parse )
0.9.8.11 Done 2 Core Create bindings for meta compiler ( sys.compiler.toconstdate() )
0.9.8.11 Done 2 Core Create javascript plugins for expressions ( stringliteral, money )
0.9.8.11 Done 1 Core Command line switch cleanup
0.9.8.11 Done 2 Plugins ListCheck plugin for "any items ?"
0.9.8.11 Done 2 Plugins RelativeDate plugin for "3rd monday in february"
0.9.8.11 Done 2 Plugins Listof as table and table type
0.9.8.11 Done 2 Plugins Preprocessor plugin for @if
0.9.8.11 Done 1 Plugins Bug fixes ( token iterator reuse, string + null )
0.9.8.11 Done 2 Plugins DaysAway plugins "2 days away", "daysAhead days away"
0.9.8.11 Done 2 Plugins Run plugin run step <function> on <function>
0.9.8.11 Done 2 Plugins With each plugin
0.9.8.11 Done 1 Plugins Phone number plugin can write phone numbers as "800-123-4567"
0.9.8.11 Done 1 Plugins any of plugin, eg. any of ( 'no', 'quit', 'stop', 'exit' )
0.9.8.11 Done 2 Bugs Fix for in to handle any expression as the source
0.9.8.11 Done 1 Bugs Comments bug fixes ( stop accumulating @scriptmeta-start, check for null alias )
0.9.8.11 Done 1 Core Command line argument support ( script params )
0.9.8.11 Done 1 Core Performance / Memory testing analysis
0.9.8.11 Done 2 Core Publish switch: remove preprocessor directives( -publish )
0.9.8.11 Done 1 Docs Update codeplex documentation ( datatypes, data-type methods, new plugins )
0.9.8.11 Done 8 Strategic Other miscellaneous strategic changes


Points: 42

Fluentscript - 0.9.8.10

Application: FluentScript
Version: 0.9.8.10
Build: 0.9.8.10
Changeset: 84863
Release date: February 1st, 2012

Release Status Points Category Title
0.9.8.10 Done 3 Core Support for Lambda functions
0.9.8.10 Done 3 Core Autogenerate code for ast(expr, stmt, plugins, expparser)
0.9.8.10 Done 2 Core Autogenerate code for types
0.9.8.10 Done 3 Core Move evaluate to non-core ast classes
0.9.8.10 Done 3 Core Walk the AST and execute the nodes separately
0.9.8.10 Done 2 Core Dot Access Cleanup
0.9.8.10 Done 2 Plugin Modules testing
0.9.8.10 Done 2 Bugs Bugs - using negative numbers and sum(2)
0.9.8.10 Done 3 Bugs Separate Exprs class for expression building
0.9.8.10 Done 5 Core Support for bootstrapping
0.9.8.10 Done 5 Core Bootstrap(convert) tokens plugins from c sharp to javascript
0.9.8.10 Done 2 Core Provide command line option to list all bootstrapped plugins
0.9.8.10 Done 2 Refactor Code cleanup / unit-testing improvements

Points: 37

Fluentscript - 0.9.8.9

Application: FluentScript
Version: 0.9.8.9
Build: 0.9.8.9
Changeset: 83734
Release date: December 1st, 2012

Release Status Points Category Title
0.9.8.9 Done 2 Core Phases improvement
0.9.8.9 Done 2 Core Separate out the project from commonlibrary.net
0.9.8.9 Done 2 Core Load multiple script via API
0.9.8.9 Done 2 Plugin Named Numeric Index Access e.g. 2nd item = items2
0.9.8.9 Done 2 Bugs Bugs ( empty blocks, print, version.Text )
0.9.8.9 Done 1 Core Read eval print loop
0.9.8.9 Done 1 Bugs Bugs ( \\server1\share\ )
0.9.8.9 Done 1 Doc Build script in FluentScript
0.9.8.9 Done 1 Core Update the setup phase for plugins so it's not rerun for each parse
0.9.8.9 Done 1 Core Avoid using is for testing Expression node types
0.9.8.9 Done 1 Core Clean up Assign Expr
0.9.8.9 Done 1 Core Support for AST node walker and AST tree access
0.9.8.9 Done 2 Core Support for lint phase and lint fs.exe switch
0.9.8.9 Done 1 Bugs Bugs ( Named parameter on system level only plugins )
0.9.8.9 Done 3 Core Lexer / Scanner cleanup
0.9.8.9 Done 3 Core Modules
0.9.8.9 Done 1 Bugs Handle new lines on if else if else statements
0.9.8.9 Done 1 Core Clean up setup of expression to referencing context, script, scope
0.9.8.9 Done 1 Core Create expr build methods for const, var, assign, compare, bin, unary, for
0.9.8.9 Done 1 Core Documentation updates and release setup

Points: 30

Fluentscript - 0.9.8.8

Application: FluentScript
Version: 0.9.8.8
Build: 0.9.8.8
Changeset: 75611 ( CommonLibrary.NET )
Release date: November 2nd, 2012


Release Status Points Category Title
0.9.8.8 Done 2 Plugin extension name plugin *.xml .xml
0.9.8.8 Done 1 Plugin version plugin 0.9.8.8, 10.0.1.2283
0.9.8.8 Done 1 Plugin fail plugin to stop a program
0.9.8.8 Done 1 Plugin Support for ruby-style string literals such as :user01 == 'user01'
0.9.8.8 Done 2 Plugin FileIO - File/Directory plugin for fluentscript.exe build scripts
0.9.8.8 Done 2 Plugin Exec plugin to run external programs
0.9.8.8 Done 2 Refactor Make namespaces match directory structure
0.9.8.8 Done 2 Install Support separate builds of just Fluentcript.dll and FluentScript.exe
0.9.8.8 Done 3 Ext Custom methods on types cleanup
0.9.8.8 Done 2 Ext Compiler phases
0.9.8.8 Done 2 SystemTests More system tests
0.9.8.8 Done 8 Redesign Implement a formal type system
0.9.8.8 Done 5 Presentation Presentation for CodeCamp NYC 2012
0.9.8.8 Done 3 Presentation Presentation for NY Alt.Net www.nyalt.net Oct 24th @microsoft
0.9.8.8 Done 2 Refactoring Refactored the core Compare,Binary,Conditional expressions

Points: 38

Fluentscript - 0.9.8.7

Application: FluentScript
Version: 0.9.8.7
Build: 0.9.8.7
Changeset: 75611 ( CommonLibrary.NET )
Release date: September 1, 2012


Release Status Points Category Title
0.9.8.7 Done 3 Redesign Use Token class to replace SymbolToken, KeywordToken, etc
0.9.8.7 Done 3 Plugin Repeat plugin to provide convenient ways to run loops
0.9.8.7 Done 2 Plugin Create TypeOperations Plugin to check for datatype and to convert. e.g. isnumber, tonumber
0.9.8.7 Done 2 Plugin Fix typeof plugin to be more accurate. e.g. returns "function:add" instead of "function"
0.9.8.7 Done 3 Lexer Lexer cleanup to have each parsing method leave lexer position after end char of last token
0.9.8.7 Done 1 Lexer Lexer should gracefully handle errors involving non-recognized chars
0.9.8.7 Done 2 Functions Return from function without return value
0.9.8.7 Done 2 Functions Create an implicit "arguments" parameter for functions like javascript
0.9.8.7 Done 2 Core Call fluentscript function from c-sharp using helper method in interpreter
0.9.8.7 Done 1 Doc Documentation for control-flow, plugins, faq
0.9.8.7 Done 2 Tests Unit-tests cleanup
0.9.8.7 Done 2 Bugs Fix the control flow syntax for if/while to handle variations
0.9.8.7 Done 2 Bugs Check and fix control flow for all block level statements else, try, def
0.9.8.7 Done 1 Bugs Check and fix new lines in conditional statement check expresssion ( a \r\n && b )
0.9.8.7 Done 2 Bugs Differentiate strings with single quote as literal and double as interpolated string
0.9.8.7 Done 3 Redesign Remove use of Statements and only use Expressions. e.g. if, var, while, for are now expressions.
0.9.8.7 Done 1 Bugs Allow FluentFuncPlugin to handle camelCasing eg. "refill inventory" as "refillInventory"
0.9.8.7 Done 1 Bugs Allow FluentFuncPlugin to handle fluent parameters
0.9.8.7 Done 1 Plugin Make repeat work correctly with text based terminators for ParseExpression calls
0.9.8.7 Done 1 Bugs Fix MachineInfo and EnvPlugin to run in runtime and not compiletime
0.9.8.7 Done 1 Bugs Enforce max LLK ( token look ahead level ) on wildcard functions and fluentfunctions
0.9.8.7 Done 1 Bugs Make Function wild card call more flexible
0.9.8.7 NS 1 Plugin Make linq work correctly with text based terminators for ParseExpression calls
0.9.8.7 NS 2 Bugs Ambiguity check
0.9.8.7 NS 2 Plugin CommentPlugin to properly parse comment with tags

Points: 44
Done: 39

Fluentscript - 0.9.8.6

Application: FluentScript
Version: 0.9.8.6
Build: 0.9.8.6
Changeset: 75611 ( CommonLibrary.NET )
Release date: August 1, 2012

Release Status Points Category Title Example
0.9.8.6 Done 3 Usability Named parameters order ( amount: 300, of: 'IBM' at: $150 )
0.9.8.6 Done 3 Usability Fluent parameters order 300 of 'IBM at $150
0.9.8.6 Done 2 Plugin % Percent plugin 25 %
0.9.8.6 Done 2 Plugin \ Path plugin home\app\build.xml
0.9.8.6 Done 2 Lexer Lexer unit-tests
0.9.8.6 Done 2 Lexer Remove scanner dependency
0.9.8.6 Done 2 Lexer fix escaping of slash and others \\ \t \t \r \n
0.9.8.6 Done 3 Lexer Tokendata pos is off Line number, Char position
0.9.8.6 Done 2 Core Confirm use of null 1 null as boolean value, use in logical not
0.9.8.6 Done 1 Errors Improve error handling ( for semantic errors ) syntax errors with specific message or token

Total Points: 22

Fluentscript - 0.9.8.5

Application: FluentScript
Version: 0.9.8.5
Build: 0.9.8.5
Changeset: 75611 ( CommonLibrary.NET )
Release date: July 1, 2012
Note(s):

Release Status Points Category Title Example
0.9.8.5 Done 5 Core Parser design Parser is now designed to require plugins to move past its last token
0.9.8.5 Done 3 Core TokenIterator LLK based TokenIterator is now LLK based, meaning it does not store an unlimited number of tokens, but a fixed size. Current default is 6, maximum of 6 tokens of lookahead.
0.9.8.5 Done 2 Plugin HashCommentPlugin # comment
0.9.8.5 Done 2 Plugin ConstPlugin MAX_FILES = 20
0.9.8.5 Done 2 Plugin FuncWildCardPlugin function "find user by" * (...)
0.9.8.5 Done 2 Plugin LogPlugin log.error( 'test' ) error ( 'test' )
0.9.8.5 Done 3 Lexer Line numbers Line numbers associated with tokens were off, these have been mostly addressed
0.9.8.5 Done 2 Cleanup Refactor function calls Cleanup of code related to function calls
0.9.8.5 Done 2 Cleanup Scanner clean up Scanner code has been cleaned up. This class is used by the lexer for parsing tokens. Eventually, the lexer will have all the functionality and scanner will be obsolete.
0.9.8.5 Done 2 Core Plugin registration Plugins can be registered in a more simplified and flexible way
0.9.8.5 Done 2 Doc Documentation Improved documentation for functions
0.9.8.5 Done 1 Plugin AliasPlugin alias def to function
0.9.8.5 Done 1 Plugin AndOrPlugin and = &&, or = ||
0.9.8.5 Done 1 Plugin StepPlugin step = function
0.9.8.5 Done 1 Lexer TokenData index Each tokendata has an index #

Total Points: 31

Issues

  • The performance of the scripting language has not been tested
  • The interpreter does not validate before execute the code ( although there is a semantics validator component that exists that will go through the AST and check for certain errors ), this is not currently integrated into the interpreter prior to the execution phase.
  • Line numbers on errors are sometimes not accurate

Limitations

There are some current limitations which are planned to be addressed in future releases.
  • Support for file includes
  • Support for library imports
  • Support for classes
  • Support for lamdas
  • Support for libraries ( IO / Network etc )

Fluentscript - 0.9.8.4 - First Release

Application: FluentScript
Version: 0.9.8.4
Build: 0.9.8.4
Changeset: 75050 ( CommonLibrary.NET )
Release date: June 1, 2012
Note(s):
  1. FluentScript is a dynamic, interpreted scripting language, similar to javascript but with additional language features to facilitate the building of DSLs ( Domain Specific Languages ).
  2. Fluentscript can be tested on www.fluentscript.com via a SilverLight app
  3. Fluentscript is part of the http://commonlibrarynet.codeplex.com
  4. Fluentscript easily allows the construction of DSLs
  5. Fluentscript documentation is located at http://fluentscript.codeplex.com/documentation
  6. Fluentscript versions will for the time being be in sync with commonlibrary

Features

Please see documentation page http://fluentscript.codeplex.com/documentation for more information on how to setup and use fluentscript and all the plugins that are available.

Tests

There are several hundreds of automated tests for fluentscript. Find below the locations of the unit tests if you extract the source code for commonlibrary.net to c:\commonlibrary.NET\.
Unit-tests: C:\CommonLibrary.NET\src\Tests\CommonLibrary.UnitTests\Lang\
Script-tests: C:\CommonLibrary.NET\src\Tools\FluentTester\data\
Demo: http://www.fluentscript.com

Backlog:

Release Status Points Category Title
0.9.8.11 NS 5 Core Create javascript plugins for lexical plugins
0.9.8.11 NS 3 Core Support "this" for function scope
0.9.8.11 NS 3 Core Support creating classes from functions
0.9.8.11 NS 3 Core Code cleanup / refactoring / unit-tests
0.9.8.11 NS 2 Core Convert all numeric constants for types etc and make them string
0.9.8.11 NS 5 Core Plugins should be provided with more context information
0.9.8.11 NS 5 Core Make System plugins always first
0.9.8.11 NS 3 Plugin Range type e.g. r = 1..10 r.first, r.last
0.9.8.11 NS 2 Core Ide Integration
0.9.8.11 NS 5 Core Namespace cleanup
0.9.8.11 NS 5 Core Classes

Last edited Mar 18, 2013 at 12:02 AM by kishore_reddy, version 148

Comments

No comments yet.