Skip to content

Releases: frame-lang/frame_transpiler

v0.11.8

08 Jun 15:18
Compare
Choose a tag to compare

Frame v0.11.8 Release Notes

Small feature addition.

Changelog

New features:

  • Support for modulo operator '%'.

v0.11.7

11 May 19:19
Compare
Choose a tag to compare

Frame v0.11.7 Release Notes

Frame v0.11.7 is a bug fix release.

Changelog

Bug Fixes:

  • Fixed bug for 'return' not being generated for all paths for ^(foo).
  • Fixed crasher in scanner for single line comments at the end of the file.
  • Removed comment generation (for now).

v0.11.6

07 May 00:34
Compare
Choose a tag to compare

Bug Fixes

Fixed GraphViz crasher with files with no Frame systems.

v0.11.5

03 May 03:41
080dc72
Compare
Choose a tag to compare

Frame v0.11.5 Release Notes

Frame v0.11.5 is a bug fix release.

Changelog

Bug Fixes:

  • Fixed GraphViz bug related to loops not properly generating transitions in DOT.

v0.11.4

23 Apr 12:02
Compare
Choose a tag to compare

Frame v0.11.4 Release Notes

We're excited to introduce Frame v0.11.4, featuring a range of enhancements to the Frame language, further elevating its capabilities and standardization. This release also includes significant updates to improve the transpiler's functionality, now supporting input from stdin and file paths. This enhancement enhances integration with CI/CD workflows involving Frame, providing developers more flexibility and convenience.

Changelog

(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)

Bug Fixes:

  • Addressed crashes and panics that occurred during transpilation, improving overall stability and reliability.
  • Removed the @^ (event return) token and related code to streamline functionality and enhance clarity in the transpilation process.

Playground

Website

Stdin support

The CLI has been updated to support stdin:

framec -language python_3 < HelloWorld.frm > HelloWorld.py

or

cat HellowWorld.frm | framec -language python_3 > HellowWorld.py

v0.11.3

02 Apr 10:49
Compare
Choose a tag to compare

Frame v0.11.3 Release Notes

We're excited to introduce Frame v0.11.3, featuring a range of enhancements to the Frame language, further elevating its capabilities and standardization. This release also includes significant updates to improve the transpiler's functionality, now supporting input from stdin and file paths. This enhancement enhances integration with CI/CD workflows involving Frame, providing developers more flexibility and convenience.

Changelog

(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)

  • Codebase: Updated all version references to v0.11.3, including tests.

Release Notes

  • Added Simple List Support: This release introduces support for simple lists, enhancing the versatility of the language and enabling more efficient data handling in your programs.
  • Added New Interface Return Value: With the implementation of a new interface return value, you can now achieve more intuitive and streamlined interactions within your code.

Playground

Website

Stdin support

The CLI has been updated to support stdin:

framec -language python_3 < HelloWorld.frm > HelloWorld.rs

or

cat HellowWorld.frm | framec -language python_3 > HellowWorld.go

v0.11.2

13 Mar 11:29
Compare
Choose a tag to compare

Frame v0.11.2 Release Notes

We're thrilled to unveil Frame v0.11.2, packed with exciting enhancements to the Frame language, elevating its capabilities and standardization. This release also brings a notable upgrade to the transpiler, now facilitating input from stdin alongside file paths, thereby bolstering integration with CI/CD workflows that involve Frame.

Changelog

(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)

  • Graphviz Integration: Replaced PlantUML with Graphviz for UML support, enhancing visualization capabilities.

Stdin support

The CLI has been updated to support stdin:

framec -language graphviz < HelloWorld.frm > HelloWorld.dot

or

cat HellowWorld.frm | framec -language graphviz > HellowWorld.dot

v0.11.1

08 Feb 19:07
Compare
Choose a tag to compare

Frame v0.11.1 Release Notes

We're thrilled to introduce Frame v0.11.1, featuring a range of exciting enhancements to the Frame language, offering increased power and standardization to the notation. This release also includes a significant improvement to the transpiler, now allowing input from stdin in addition to accepting file paths, thus enhancing integration with CI/CD processes involving Frame.

Changelog

(Note: The enhanced language features are currently supported in Python 3, with plans to extend support to other languages in upcoming releases.)

  • Fixed Code Generation Issue: Addressed a bug that was affecting code generation, ensuring a smoother experience for users.

Stdin support

The CLI has been updated to support stdin:

framec -language python_3 < HelloWorld.frm > HelloWorld.rs

or

cat HellowWorld.frm | framec -language python_3 > HellowWorld.go

v0.11.0

01 Feb 11:59
Compare
Choose a tag to compare

Frame v0.11.0 Release Notes

We're thrilled to introduce Frame v0.11.0, featuring a range of exciting enhancements to the Frame language, offering increased power and standardization to the notation. This release also includes a significant improvement to the transpiler, now allowing input from stdin in addition to accepting file paths, thus enhancing integration with CI/CD processes involving Frame.

Changelog

(Note: The new language features are currently supported in Python 3, with support for other languages in future releases.)

New Language Features and Updates

Functions

  • Introduction of Functions:
    Developers can now easily construct simple Frame programs with the introduction of functions. The current syntax supports a single main() function, with the upcoming v0.12 release extending support for an unlimited number of functions.

    Learn more about Frame Functions

System Controller Instantiation

  • Frame Systems and Control:
    With the inclusion of Frame functions, developers can now create fully functional Frame programs, gaining the ability to instantiate and control Frame systems. This allows for comprehensive control over system initialization, state parameters, start state parameters, and domain variables.

    Explore Frame Systems

Operations

  • Frame Operations:
    Frame operations, publicly accessible methods that bypass the state machine, now offer privileged access to system domain data. Additionally, operations can be designated as static, enabling systems to provide libraries of associated functionality for complex or repetitive system management routines.

    Discover Frame Operations

Enums

Loops

  • Looping in Frame:
    Frame now supports two types of loops: For-like loops and Infinite loops, providing developers with versatile options for program flow control.

    Check out Frame Loops

Stdin support

The CLI has been updated to support stdin:

framec -language python_3 < HelloWorld.frm > HelloWorld.rs

or

cat HellowWorld.frm | framec -language python_3 > HellowWorld.go

Frame v0.10.1

20 Jan 08:05
Compare
Choose a tag to compare

Frame v0.10.1 brings a lot of exciting additions to the Frame language, adding both power and standardization to the notation. In addition, the transpiler now can read from stdin as well as still accepting file paths as in the past. This enables improved CI/CD processes involving Frame.

Changelog

Note: The new language features are now supported in Golang, Javascript, Python3. Other languages will be supported in coming releases.

  • Go - Fixed deepcopy of compartment in stack history.
  • Python - Fixed type hint for class instances.

Stdin support

The CLI has been updated to support stdin:

framec -language rust < HelloWorld.frm > HelloWorld.rs

or

cat HellowWorld.frm | framec -language golang > HellowWorld.go