Skip to content

Commit

Permalink
Iteration 32 (#690)
Browse files Browse the repository at this point in the history
* [FIXED]inline assignment in the template class
* [IDE][FIXED] debug source path
* [ELC][FIXED] return inside lock
* [ADDED] #154 : system'threading: ManualEvent, AutoResetEvent, CountDownEvent
* [SAMPLE][ADDED] threadpool
* ppc64le : fixing iteratorMethodTest
* [FIXED] declaring a lambda function with template based argument
* [API][ADDED] system'threading : Task
* [ADDED] system'io'Directory : static getFiles / getFiles<string>
* [FIXED] calling a method directly with nil argument when allowed
* unit test : calling a method with nil - strong - direct call
* [FIXED] single dispatch of a private method
* [Samples][ADDED] tasks
* [IDE][ADDED] it is possible to set the target type for a single file project
* [FIXED] closure can be type-casted in the compile-time
  • Loading branch information
arakov authored Sep 23, 2024
1 parent 7736283 commit e86cf43
Show file tree
Hide file tree
Showing 71 changed files with 7,785 additions and 4,146 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ env:
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
BUILD_CONFIGURATION: Release

BUILD_TAG: 6.3.1
BUILD_TAG: 6.3.2

permissions:
contents: read
Expand Down
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
## ELENA 6.4.0

- ELENA
- [FIXED] method reference : support function singletons
- [FIXED] direct typecasting must have priority over implicit conversion
- [ADDED] Thread static symbols / static fields
- [ADDED] new byte-codes : peektls / storetls
- [FIXED] ?? operator
- [ADDED] static constructor
- [ADDED] internal symbols

- ELC
- [ADDED] new option -el5 / -el6 (default) - specifying grammar compatible to ELENA 5.x or 6.x
- [ADDED] Win x32-64 : MTA Console
- [FIXED] inline field assignment in a template class
- [FIXED] return inside lock
- [FIXED] ppc64le : fix iteratorMethodTest
- [FIXED] declaring a lambda function with template based argument
- [FIXED] calling a method directly with nil argument when allowed
- [FIXED] single dispatch of a private / internal / protected method
- [FIXED] closure argument types can be specified by an expected type

- VM

- RT

- SM

- API
- [ADDED] system'threading'Thread: Priority, join<int>, Current
- [ADDED] system'runtime'Environment
- [ADDED] system'collections'threadsafe'ConcurrentQueue<T>
- [ADDED] #154 : system'threading'Semaphore
- [ADDED] system'threading'BlockingQueue<T>
- [ADDED]system'threading'ThreadPool
- [ADDED] #154 : system'threading: ManualResetEvent, AutoResetEvent, CountDownEvent
- [ADDED] system'threading : Task
- [ADDED] system'io'Directory : static getFiles / getFiles<string>

- SAMPLES
- [ADDED] threadpool
- [ADDED] tasks

- Tools
- [ECV][ADDED] displaying class attributes

- IDE
- [FIXED] #679 : class already exist
- [FIXED] debug source path
- [ADDED] it is possible to set the target type for a single file project

## ELENA 6.3.0

- ELENA
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.3.1
6.3.2
2 changes: 1 addition & 1 deletion asm/ppc64le/core60.asm
Original file line number Diff line number Diff line change
Expand Up @@ -2424,7 +2424,7 @@ inline %0D6h
addis r12, r12, __disp32hi_2
addi r12, r12, __disp32lo_2

std r19, 0(r12)
std r12, 0(r19)

end

Expand Down
2 changes: 1 addition & 1 deletion build/aarch64/build_package_arm64.script
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
RELEASE=elena-6.3.1.aarch64-linux
RELEASE=elena-6.3.2.aarch64-linux

mkdir -p /usr/share/elena
mkdir -p /etc/elena/
Expand Down
2 changes: 1 addition & 1 deletion build/aarch64/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: elena-lang
Version: 6.3.1
Version: 6.3.2
Architecture: aarch64
Maintainer: Alex Rakov <[email protected]>
Depends: libc6 (>= 2.1)
Expand Down
2 changes: 1 addition & 1 deletion build/amd64/build_package_amd64.script
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
RELEASE=elena-6.3.1.amd64-linux
RELEASE=elena-6.3.2.amd64-linux

mkdir -p /usr/share/elena
mkdir -p /etc/elena/
Expand Down
2 changes: 1 addition & 1 deletion build/amd64/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: elena-lang
Version: 6.3.1
Version: 6.3.2
Architecture: amd64
Maintainer: Alex Rakov <[email protected]>
Depends: libc6 (>= 2.1)
Expand Down
4 changes: 2 additions & 2 deletions build/elena_inno.iss
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{3CAA69D3-0F98-44B1-A73E-E864BA51D5BD}
AppName=ELENA Programming Language
AppVersion=6.3.1
AppVersion=6.3.2
;AppVerName=ELENA Programming Language 6.2.0
AppPublisher=Alexey Rakov
AppPublisherURL=http://github.com/ELENA-LANG/elena-lang
Expand All @@ -18,7 +18,7 @@ DefaultGroupName=ELENA Programming Language
AllowNoIcons=yes
LicenseFile=..\doc\license
InfoAfterFile=..\CHANGELOG.md
OutputBaseFilename=elena-lang-6.3.1.x86-win-setup
OutputBaseFilename=elena-lang-6.3.2.x86-win-setup
Compression=lzma
SolidCompression=yes
ChangesEnvironment=yes
Expand Down
2 changes: 1 addition & 1 deletion build/i386/build_package_i386.script
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
RELEASE=elena-6.3.1.i386-linux
RELEASE=elena-6.3.2.i386-linux

mkdir -p /usr/share/elena
mkdir -p /etc/elena/
Expand Down
2 changes: 1 addition & 1 deletion build/i386/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: elena-lang
Version: 6.3.1
Version: 6.3.2
Architecture: i386
Maintainer: Alex Rakov <[email protected]>
Depends: libc6 (>= 2.1)
Expand Down
2 changes: 1 addition & 1 deletion build/ppc64le/build_package_ppc64le.script
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
RELEASE=elena-6.3.1.ppc64le-linux
RELEASE=elena-6.3.2.ppc64le-linux

mkdir -p /usr/share/elena
mkdir -p /etc/elena/
Expand Down
2 changes: 1 addition & 1 deletion build/ppc64le/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: elena-lang
Version: 6.3.1
Version: 6.3.2
Architecture: ppc64le
Maintainer: Alex Rakov <[email protected]>
Depends: libc6 (>= 2.1)
Expand Down
43 changes: 29 additions & 14 deletions dat/sg/syntax60.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,20 @@ __define GET_EXPRESSION 7222;
__define INIT_EXPRESSION 7223;
__define ACCUM_EXPRESSION 7225;
__define NESTED_EXPRESSION 6197;
__define INDEXER_OPERATION 6209;
__define ASSIGN_OPERATION 6210;
__define ADDITION_ASSIGNMENT 6211;
__define ADD_OPERATION 6212;
__define SUB_OPERATION 6213;
__define LEN_OPERATION 6214;
__define IF_OPERATION 6215;
__define LESS_OPERATION 6216;
__define NAME_OPERATION 6217;
__define EQUAL_OPERATION 6218;
__define NOT_OPERATION 6219;
__define NOTEQUAL_OPERATION 6220;
__define LOOP_OPERATION 6221;
__define ASYNC_OPERATION 6203;
__define INDEXER_OPERATION 6209;
__define ASSIGN_OPERATION 6210;
__define ADDITION_ASSIGNMENT 6211;
__define ADD_OPERATION 6212;
__define SUB_OPERATION 6213;
__define LEN_OPERATION 6214;
__define IF_OPERATION 6215;
__define LESS_OPERATION 6216;
__define NAME_OPERATION 6217;
__define EQUAL_OPERATION 6218;
__define NOT_OPERATION 6219;
__define NOTEQUAL_OPERATION 6220;
__define LOOP_OPERATION 6221;
__define ELSE_OPERATION 6222;
__define IF_ELSE_OPERATION 6223;
__define MUL_OPERATION 6224;
Expand Down Expand Up @@ -338,6 +339,7 @@ ROOT_EXPRESSION ::=
| "$break" ^BREAK_OPERATION
| "$continue" ^CONTINUE_OPERATION
| "$yield" EXPRESSION ^YIELD_OPERATION
| "$async" EXPRESSION ^ASYNC_OPERATION
| BRACKET SUB_EXPRESSION {
"=>" { SWITCH_OPTION+ SWITCH_LAST_OPTION? } ^SWITCH_OPERATION
| L2_OP+ L3_OP* L4_OP* L5_OP* L6_OP? L7_OP* L8_OP? L9_OP?
Expand Down Expand Up @@ -440,7 +442,8 @@ NESTED_ROOT_EXPRESSION ::=
| "$ext" EXPRESSION ^EXTERN_OPERATION
| "$break" ^BREAK_OPERATION
| "$continue" ^CONTINUE_OPERATION
| "$yield" EXPRESSION ^YIELD_OPERATION;
| "$yield" EXPRESSION ^YIELD_OPERATION
| "$async" EXPRESSION ^ASYNC_OPERATION;

EXPRESSION ::=
identifier {
Expand Down Expand Up @@ -668,6 +671,18 @@ SUB_EXPRESSION ::=
| L9_OOP TUPLE_R? ")"
| LESS ^OBJECT TEMPLATE_ARG { "," TEMPLATE_ARG }* ">" ^TEMPLATE_TYPE {
"{" NESTED_EXPRESSION ^NESTED OL_F TUPLE_R? ")"
| identifier {
"=>" ^ OBJECT ^ EXPRESSION ^ PARAMETER_BLOCK RET_EXPRESSION ^CLOSURE ")" ^EXPRESSION
| "," ^ OBJECT ^ EXPRESSION EXPRESSION { "," EXPRESSION }* {
"=>" ^ PARAMETER_BLOCK RET_EXPRESSION ^CLOSURE ")" ^EXPRESSION
| ")" {
"{" ^ PARAMETER_BLOCK BLOCK ^CLOSURE ^EXPRESSION
| eps ^TUPLE_COLLECTION }
}
| ")" {
"{" ^ PARAMETER BLOCK ^CLOSURE ^EXPRESSION
| eps ^OBJECT }
}
| BRACKET ^OBJECT FUNCTION_R OL_F TUPLE_R? ")"
| L3_OOP L3_OP* L4_OP* L5_OP* L6_OP? L7_OP* L8_OP? L9_OP? TUPLE_R? ")"
| L4_OOP L4_OP* L5_OP* L6_OP? L7_OP* L8_OP? L9_OP? TUPLE_R? ")"
Expand Down
30 changes: 15 additions & 15 deletions doc/api/system-collections-threadsafe-summary.html
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,23 @@ <H1>
</TR>
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#ConcurrentQueue&lt;T1&gt;">ConcurrentQueue&lt;T1&gt;</A>
</TD>
<TD CLASS="colLast">
<DIV CLASS="block">
public template <SPAN CLASS="typeNameLabel">ConcurrentQueue&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#Enumerable&lt;T1&gt;">Enumerable&lt;T1&gt;</A>
</TD>
<TD CLASS="colLast">
<DIV CLASS="block">
abstract public template <SPAN CLASS="typeNameLabel">Enumerable&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#Enumerator&lt;T1&gt;">Enumerator&lt;T1&gt;</A>
</TD>
Expand All @@ -87,7 +96,7 @@ <H1>
abstract public template <SPAN CLASS="typeNameLabel">Enumerator&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#Indexable&lt;T1&gt;">Indexable&lt;T1&gt;</A>
</TD>
Expand All @@ -96,7 +105,7 @@ <H1>
abstract public template <SPAN CLASS="typeNameLabel">Indexable&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#Indexer&lt;T1&gt;">Indexer&lt;T1&gt;</A>
</TD>
Expand All @@ -105,7 +114,7 @@ <H1>
abstract public template <SPAN CLASS="typeNameLabel">Indexer&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#List&lt;T1&gt;">List&lt;T1&gt;</A>
</TD>
Expand All @@ -114,7 +123,7 @@ <H1>
public template <SPAN CLASS="typeNameLabel">List&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TR CLASS="rowColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#Queue&lt;T1&gt;">Queue&lt;T1&gt;</A>
</TD>
Expand All @@ -123,7 +132,7 @@ <H1>
public template <SPAN CLASS="typeNameLabel">Queue&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="rowColor">
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#Reference&lt;T1&gt;">Reference&lt;T1&gt;</A>
</TD>
Expand All @@ -132,15 +141,6 @@ <H1>
public template <SPAN CLASS="typeNameLabel">Reference&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
<TR CLASS="altColor">
<TD CLASS="colFirst">
<A HREF="system-collections-threadsafe.html#ThreadsafeQueue&lt;T1&gt;">ThreadsafeQueue&lt;T1&gt;</A>
</TD>
<TD CLASS="colLast">
<DIV CLASS="block">
public template <SPAN CLASS="typeNameLabel">ThreadsafeQueue&lt;T1&gt;</SPAN></DIV>
</TD>
</TR>
</TABLE>
</LI>
</UL>
Expand Down
Loading

0 comments on commit e86cf43

Please sign in to comment.