summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/ripper/tools/dsl.rb2
-rwxr-xr-xext/ripper/tools/preproc.rb6
-rw-r--r--parse.y13
3 files changed, 3 insertions, 18 deletions
diff --git a/ext/ripper/tools/dsl.rb b/ext/ripper/tools/dsl.rb
index dec4820d74..6b4742f17c 100644
--- a/ext/ripper/tools/dsl.rb
+++ b/ext/ripper/tools/dsl.rb
@@ -8,6 +8,7 @@ class DSL
@events = {}
@error = options.include?("error")
@brace = options.include?("brace")
+ @final = options.include?("final")
# create $1 == "$1", $2 == "$2", ...
re, s = "", ""
@@ -28,6 +29,7 @@ class DSL
def generate
s = "$$"
+ s = "p->result" if @final
s = "\t\t\t#{ s } = #@code;"
s << "ripper_error(p);" if @error
s = "{#{ s }}" if @brace
diff --git a/ext/ripper/tools/preproc.rb b/ext/ripper/tools/preproc.rb
index 418a0dfb02..f5d0115184 100755
--- a/ext/ripper/tools/preproc.rb
+++ b/ext/ripper/tools/preproc.rb
@@ -43,12 +43,6 @@ def prelude(f, out)
@exprs = {}
while line = f.gets
case line
- when %r</\*%%%\*/>
- out << '/*' << $/
- when %r</\*%>
- out << '*/' << $/
- when %r<%\*/>
- out << $/
when /\A%%/
out << '%%' << $/
return
diff --git a/parse.y b/parse.y
index a74676f149..587f2a63fc 100644
--- a/parse.y
+++ b/parse.y
@@ -874,10 +874,6 @@ static void token_info_pop(struct parser_params*, const char *token, const rb_co
%type <id> fsym keyword_variable user_variable sym symbol operation operation2 operation3
%type <id> cname fname op f_rest_arg f_block_arg opt_f_block_arg f_norm_arg f_bad_arg
%type <id> f_kwrest f_label f_arg_asgn call_op call_op2 reswords relop
-/*%%%*/
-/*%
-%type <val> program then do
-%*/
%token END_OF_INPUT 0 "end-of-input"
%token tUPLUS RUBY_TOKEN(UPLUS) "unary+"
%token tUMINUS RUBY_TOKEN(UMINUS) "unary-"
@@ -968,11 +964,7 @@ program : {
}
p->eval_tree = NEW_SCOPE(0, block_append(p, p->eval_tree, $2), &@$);
/*% %*/
- /*% ripper: program!($2) %*/
- /*%%%*/
- /*%
- p->result = $$;
- %*/
+ /*% ripper[final]: program!($2) %*/
local_pop(p);
}
;
@@ -2686,14 +2678,11 @@ k_return : keyword_return
;
then : term
- /*% ripper[brace]: "Qnil" %*/
| keyword_then
| term keyword_then
- /*% ripper[brace]: $2 %*/
;
do : term
- /*% ripper[brace]: "Qnil" %*/
| keyword_do_cond
;