rubinius-melbourne 3.7 → 3.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rubinius/code/melbourne/defs/keywords +56 -0
- data/ext/rubinius/code/melbourne/grammar.cpp +4285 -4053
- data/ext/rubinius/code/melbourne/grammar.y +103 -0
- data/ext/rubinius/code/melbourne/lex.c.blt +45 -45
- data/ext/rubinius/code/melbourne/node.hpp +4 -0
- data/ext/rubinius/code/melbourne/node_types.cpp +41 -33
- data/ext/rubinius/code/melbourne/node_types.hpp +4 -0
- data/ext/rubinius/code/melbourne/node_types.rb +4 -0
- data/ext/rubinius/code/melbourne/symbols.cpp +8 -0
- data/ext/rubinius/code/melbourne/symbols.hpp +4 -0
- data/ext/rubinius/code/melbourne/visitor.cpp +37 -0
- data/lib/rubinius/code/melbourne/version.rb +1 -1
- metadata +3 -2
@@ -33,7 +33,9 @@ namespace MELBOURNE {
|
|
33
33
|
extern ID rb_sData;
|
34
34
|
extern ID rb_sDefined;
|
35
35
|
extern ID rb_sDefn;
|
36
|
+
extern ID rb_sDefnm;
|
36
37
|
extern ID rb_sDefs;
|
38
|
+
extern ID rb_sDefsm;
|
37
39
|
extern ID rb_sDot2;
|
38
40
|
extern ID rb_sDot3;
|
39
41
|
extern ID rb_sDRegx;
|
@@ -52,6 +54,8 @@ namespace MELBOURNE {
|
|
52
54
|
extern ID rb_sFlip3;
|
53
55
|
extern ID rb_sFloat;
|
54
56
|
extern ID rb_sFor;
|
57
|
+
extern ID rb_sFun;
|
58
|
+
extern ID rb_sFunm;
|
55
59
|
extern ID rb_sGAsgn;
|
56
60
|
extern ID rb_sGVar;
|
57
61
|
extern ID rb_sHash;
|
@@ -661,6 +661,24 @@ namespace MELBOURNE {
|
|
661
661
|
tree = rb_funcall(ptp, rb_sDRegxOnce, 4, line, node->nd_lit, array, flags);
|
662
662
|
break;
|
663
663
|
}
|
664
|
+
case NODE_FUN: {
|
665
|
+
VALUE body = Qnil;
|
666
|
+
|
667
|
+
if (node->nd_defn) {
|
668
|
+
body = process_parse_tree(parser_state, ptp, node->nd_defn, locals);
|
669
|
+
}
|
670
|
+
tree = rb_funcall(ptp, rb_sFun, 3, line, ID2SYM(node->nd_mid), body);
|
671
|
+
break;
|
672
|
+
}
|
673
|
+
case NODE_FUNM: {
|
674
|
+
VALUE body = Qnil;
|
675
|
+
|
676
|
+
if (node->nd_defn) {
|
677
|
+
body = process_parse_tree(parser_state, ptp, node->nd_defn, locals);
|
678
|
+
}
|
679
|
+
tree = rb_funcall(ptp, rb_sFunm, 3, line, ID2SYM(node->nd_mid), body);
|
680
|
+
break;
|
681
|
+
}
|
664
682
|
case NODE_DEFN: {
|
665
683
|
VALUE body = Qnil;
|
666
684
|
|
@@ -670,6 +688,15 @@ namespace MELBOURNE {
|
|
670
688
|
tree = rb_funcall(ptp, rb_sDefn, 3, line, ID2SYM(node->nd_mid), body);
|
671
689
|
break;
|
672
690
|
}
|
691
|
+
case NODE_DEFNM: {
|
692
|
+
VALUE body = Qnil;
|
693
|
+
|
694
|
+
if (node->nd_defn) {
|
695
|
+
body = process_parse_tree(parser_state, ptp, node->nd_defn, locals);
|
696
|
+
}
|
697
|
+
tree = rb_funcall(ptp, rb_sDefnm, 3, line, ID2SYM(node->nd_mid), body);
|
698
|
+
break;
|
699
|
+
}
|
673
700
|
case NODE_DEFS: {
|
674
701
|
VALUE recv = Qnil, body = Qnil;
|
675
702
|
|
@@ -680,6 +707,16 @@ namespace MELBOURNE {
|
|
680
707
|
tree = rb_funcall(ptp, rb_sDefs, 4, line, recv, ID2SYM(node->nd_mid), body);
|
681
708
|
break;
|
682
709
|
}
|
710
|
+
case NODE_DEFSM: {
|
711
|
+
VALUE recv = Qnil, body = Qnil;
|
712
|
+
|
713
|
+
if (node->nd_defn) {
|
714
|
+
recv = process_parse_tree(parser_state, ptp, node->nd_recv, locals);
|
715
|
+
body = process_parse_tree(parser_state, ptp, node->nd_defn, locals);
|
716
|
+
}
|
717
|
+
tree = rb_funcall(ptp, rb_sDefsm, 4, line, recv, ID2SYM(node->nd_mid), body);
|
718
|
+
break;
|
719
|
+
}
|
683
720
|
case NODE_CLASS: {
|
684
721
|
VALUE name, super = Qnil;
|
685
722
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubinius-melbourne
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '3.
|
4
|
+
version: '3.8'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Shirai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redcard
|
@@ -60,6 +60,7 @@ extensions:
|
|
60
60
|
- ext/rubinius/code/melbourne/extconf.rb
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
|
+
- ext/rubinius/code/melbourne/defs/keywords
|
63
64
|
- ext/rubinius/code/melbourne/encoding_compat.cpp
|
64
65
|
- ext/rubinius/code/melbourne/encoding_compat.hpp
|
65
66
|
- ext/rubinius/code/melbourne/extconf.rb
|