Skip to content

Commit

Permalink
version 8.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
ab25cq committed Dec 3, 2018
1 parent 617a7d6 commit d94d93d
Show file tree
Hide file tree
Showing 65 changed files with 14,905 additions and 6,425 deletions.
16 changes: 14 additions & 2 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@

version 7.5.2
version 8.0.1

ちょっと手違いで"ABC".sub(/.(.)./) { it2.items(0) } => Bが動きませんでした。動くようになりました。

version 8.0.1

"ABC".sub (/.(.)./) {it2.items (0)} => B did not work with a slight mistake. I got to move.

version 8.0.0

JITが今度こそ安定したと思います。JITを書き直しました。

version 8.0.0

BufferTestにバグがありました。
I think that JIT has stabilized this time. I rewrote JIT.

version 7.5.2

Expand Down
35 changes: 21 additions & 14 deletions Container.clcl
Original file line number Diff line number Diff line change
Expand Up @@ -2616,7 +2616,9 @@ inherit String
return self.sub(regex_, replace, SortableList<String>());
}

def sub(regex_:regex, group_strings:SortableList<String>?, replace_:lambda(String,SortableList<String>):String): String

/*
def sub(regex_:regex, group_strings:SortableList<String>?, replace_:lambda(String):String): String
{
result: String = String();
offset:int = 0;
Expand All @@ -2635,7 +2637,7 @@ inherit String

match_string:String = buffer.subBuffer(ovec.start[0], ovec.end[0]).toString();

replace_string:String = replace_(match_string, SortableList<String>());
replace_string:String = replace_(match_string);
result.append(replace_string);

if(offset == ovec.end[0]) {
Expand Down Expand Up @@ -2667,7 +2669,7 @@ inherit String
group_strings.add(match_string);
}

replace_string:String = replace_(match_string, group_strings);
replace_string:String = replace_(match_string);
result.append(replace_string);

if(offset == ovec.end[0]) {
Expand All @@ -2693,8 +2695,8 @@ inherit String

return result;
}

def sub(regex_:regex, group_strings:SortableList<String>?, replace_:lambda(String):String): String
*/
def sub(regex_:regex, group_strings:SortableList<String>?, replace_:lambda(String,SortableList<String>):String): String
{
result: String = String();
offset:int = 0;
Expand All @@ -2713,7 +2715,7 @@ inherit String

match_string:String = buffer.subBuffer(ovec.start[0], ovec.end[0]).toString();

replace_string:String = replace_(match_string);
replace_string:String = replace_(match_string, SortableList<String>());
result.append(replace_string);

if(offset == ovec.end[0]) {
Expand Down Expand Up @@ -2745,7 +2747,7 @@ inherit String
group_strings.add(match_string);
}

replace_string:String = replace_(match_string);
replace_string:String = replace_(match_string, group_strings);
result.append(replace_string);

if(offset == ovec.end[0]) {
Expand Down Expand Up @@ -2776,10 +2778,12 @@ inherit String
return self.sub(regex_, SortableList<String>()@group_strings, replace_);
}

/*
def sub(regex_:regex, replace_:lambda(String):String): String
{
return self.sub(regex_, SortableList<String>()@group_strings, replace_);
}
*/

def scan(regex_:regex): SortableList<String> {
result: SortableList<String> = SortableList<String>();
Expand Down Expand Up @@ -2830,7 +2834,8 @@ inherit String
return result;
}

def scan(regex_:regex, block_:lambda(String,SortableList<String>):String): SortableList<String> {
/*
def scan(regex_:regex, block_:lambda(String):String): SortableList<String> {
result: SortableList<String> = SortableList<String>();
offset:int = 0;

Expand All @@ -2845,8 +2850,7 @@ inherit String
if(regex_result == 1) {
match_string:String = buffer.subBuffer(ovec.start[0], ovec.end[0]).toString();

group_strings: SortableList<String> = SortableList<String>();
result.add(block_(match_string, group_strings));
result.add(block_(match_string));

if(offset == ovec.end[0]) {
offset++;
Expand All @@ -2872,7 +2876,7 @@ inherit String
offset = ovec.end[0];
}

result.add(block_(match_string, group_strings));
result.add(block_(match_string));
}
### no match ###
else {
Expand All @@ -2882,7 +2886,9 @@ inherit String

return result;
}
def scan(regex_:regex, block_:lambda(String):String): SortableList<String> {
*/

def scan(regex_:regex, block_:lambda(String,SortableList<String>):String): SortableList<String> {
result: SortableList<String> = SortableList<String>();
offset:int = 0;

Expand All @@ -2897,7 +2903,8 @@ inherit String
if(regex_result == 1) {
match_string:String = buffer.subBuffer(ovec.start[0], ovec.end[0]).toString();

result.add(block_(match_string));
group_strings: SortableList<String> = SortableList<String>();
result.add(block_(match_string, group_strings));

if(offset == ovec.end[0]) {
offset++;
Expand All @@ -2923,7 +2930,7 @@ inherit String
offset = ovec.end[0];
}

result.add(block_(match_string));
result.add(block_(match_string, group_strings));
}
### no match ###
else {
Expand Down
4 changes: 2 additions & 2 deletions Fundamental.clcl
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ class String
len := str.length();

if(self.len+len+1 < self.size) {
for(i:int=self.len; i<self.len + len; i++) {
for(i:=self.len; i<self.len + len; i++) {
self.buffer[i] = str.buffer[i-self.len];
}
self.buffer[i] = '\0';
Expand Down Expand Up @@ -484,7 +484,7 @@ class Buffer

class Exception
{
include MObjectBase;
# include MObjectBase;

message:String;

Expand Down
9 changes: 9 additions & 0 deletions JITTest.cl
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
a := JITTest();

/*
a.method8 {|a:int, b:int|:int
return a + b + 3;
}
a.method10();
*/
134 changes: 134 additions & 0 deletions JITTest.clcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
class JITTestClassA {
value:int;

def initialize() {
value = 123;
}
}

class JITTestException {
message:String;

def initialize(aaa:String) {
message = aaa;
}
}

class JITTest
{
def initialize() {
}

def method():int {
1+1
}

def method2():bool {
true;
}

def method3():bool {
false;
}

def method4():int {
if(false || false || false || false) {
return 123
}
else {
return 245
}
return 1+1;
}

def method5(a:int, b:int):int {
return a + b;
}

def method6():int {
return method5(1, 2);
}

def method7():int {
a := JITTestClassA();

a.value = 234;

return a.value;
}

def method8(block_:lambda(int, int):int):int {
return block_(1, 2);
}
def clone(): JITTestException {
message := "ABC";

if(true) { #message.identifyWith(null)) {
111; #return JITTestException("");
}
else {
222
#return JITTestException("");
}
}
def method9():regex {
a := 1;
b := "BBB";

return regex "\{a} \{b}";
}
def getmaxy(): int {
return 21;
}
def getmaxx(): int {
return 22;
}

def getmaxx():int {
return 123;
}

def getmaxy():int {
return 123;
}

def mvprintw(y:int, x:int, str:String): static throws Exception {
}
def mvprintw(y:int, x:int, format:String, params:Array<Object>): static throws Exception {
}
def attron(a:int) {
}
def attroff(b:int) {
}
def refresh() {
}

def getch(): int {
return 123;
}

def endwin() {
}

A_REVERSE:static int;
KEY_UP:static int;
KEY_DOWN:static int;
KEY_ENTER:static int;

def initscr() {
}

stdscr:static int;

def keypad(stdscr_:int, bbb:bool) {
}

def noecho() {
}

def raw() {
}

data:String;
}

1 change: 1 addition & 0 deletions JITTest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
make clean &&make && ./cclover2 -core JITTest.clcl && ./cclover2 -core JITTest2.clcl && ./bclover2 -core JITTest.oclcl && ./cclover2 -core JITTest.cl && ./clover2 -core JITTest.ocl
Loading

0 comments on commit d94d93d

Please sign in to comment.