Carson McDonald
b2f3919bc2
Accept =begin and =end with spaces after
2014-04-28 14:15:03 -04:00
Carson McDonald
af95acec17
make peek_n append p->pb to list
2014-04-28 14:11:18 -04:00
take_cheeze
215f8fdd64
Fix lineno overwrite in parser_init_cxt.
...
By reordering parsing string with mrb_parser_parse won't always start with line 1.
2014-04-25 21:56:02 +09:00
Nobuyoshi Nakada
ac6747a9c5
fix optional block arguments in rhs
...
define optional block arguments as argument variables in the rhs
default expressions, as same as mere assignment expressions.
Import ruby/ruby@01740f0c27
2014-04-21 14:55:06 +09:00
Nobuyoshi Nakada
28f6cfe424
adjust indent
2014-04-21 14:53:37 +09:00
Nobuyoshi Nakada
367118b1b6
fix optional arguments in rhs
...
define optional arguments as argument variables in the rhs default
expressions, as same as mere assignment expressions.
Import ruby/ruby@01740f0c27
2014-04-21 10:48:00 +09:00
Nobuyoshi Nakada
9eaddfab44
allow method definition in cmdarg
...
save cmdarg_stack and isolate command argument state from outer scope
to allow method definition in cmdarg
import from ruby/ruby@04bb9d6b75
2014-04-21 07:00:57 +09:00
Nobuyoshi Nakada
a3d6290d7b
use stack_type instead of raw unsigned int
2014-04-21 06:53:35 +09:00
Nobuyoshi Nakada
b16697982e
Allow parenthesed do-block in cmdarg
...
Flush cmdarg flags inside left-paren in a command argument, to allow
parenthesed `do-block` as an argument without arguments parentheses.
`CMDARG_PUSH(0)` for tLPAREN_ARG is before `CMDARG_PUSH(1)` in
`command_args` due to look-ahead.
2014-04-19 18:46:07 +09:00
take_cheeze
70f6aa0496
Fix wrong mrb_bug use found with mruby-clang-plugin.
2014-04-08 23:46:18 +09:00
Yukihiro "Matz" Matsumoto
5f2817b36c
backslash escapes in regexp should be addressed by Regexp processor; close #2005
2014-04-04 13:12:58 +09:00
Yukihiro "Matz" Matsumoto
9b45189626
remove some empty lines
2014-04-02 10:42:56 +09:00
Yukihiro "Matz" Matsumoto
911764e8e2
handle CR before LF; close #1781
2014-04-02 03:22:06 +09:00
Yukihiro "Matz" Matsumoto
3b339ed47f
simpler escape handling in ?c strings
2014-04-02 02:21:57 +09:00
Yukihiro "Matz" Matsumoto
5bcaa749fc
fix else indentation style
2014-04-02 02:16:09 +09:00
Yukihiro "Matz" Matsumoto
bfd2a539ed
add new function mrb_toplevel_run to prevent running through C function boudaries on exceptions; close #1942
2014-03-26 01:09:09 +09:00
chasonr
509cbc51eb
Implement \u notation for strings and regexes.
...
This change adds the \u notation for double quoted strings and regular
expressions. It does not implement the \u notation for character literals.
Both the \uNNNN and \u{NNNN} notations are supported.
\uNNNN is implemented by emitting equivalent UTF-8; that is, "\u4000" is
equivalent to "\xE4\x80\x80".
Unlike CRuby, the \u{NNNN} notation allows only one character per pair of
braces; I see no way to lift this restriction without remodeling the parser.
2014-03-23 21:46:00 -04:00
Yukihiro "Matz" Matsumoto
3e24e06b29
add a space after C reserved words
2014-03-18 23:57:29 +09:00
Yukihiro "Matz" Matsumoto
c476c1b528
symbol length type to be mrb_int
2014-03-15 15:43:40 +09:00
take_cheeze
52cf39a67a
remove deprecated register keyword
2014-03-11 22:01:00 +09:00
cubicdaiya
019d15c3ee
Use mrb_exc_new_str_lit widely
2014-03-04 02:45:53 +09:00
Yukihiro "Matz" Matsumoto
7721463a35
add const to char* to pacify warnings for string litral to char* conversion
2014-03-02 00:59:12 +09:00
take_cheeze
78915f9601
support c++ exception
2014-03-01 20:05:29 +09:00
cubicdaiya
67de10bfcb
use C style comments instead of C++ style comments
...
According to CONTRIBUTING.md,
Don't use C++ style comments
/* This is the prefered comment style */
Use C++ style comments only for temporary comment e.g. commenting out some code lines.
2014-03-01 03:31:45 +09:00
cremno
4507985c3e
use mrb_bool, FALSE and TRUE more
...
It doesn't matter to me if one is using FALSE/TRUE instead of 1/0
but I prefer a type (alias) which emphasizes boolean vars to int.
I changed 1/0 to FALSE/TRUE anyway.
2014-01-31 18:00:36 +01:00
Yukihiro "Matz" Matsumoto
7c9a1accff
remove conflict
2014-01-31 17:09:04 +09:00
h2so5
650ffb9d84
reindent parse.y
2014-01-31 11:30:58 +09:00
cremno
f2a62a74ed
clean up external symbols
...
remove unused and unneeded:
- sysexit_status
- type (a global variable)
add mrb_ prefix to:
- codedump_all
- class_instance_method_list
- parser_dump
make various functions static, incl.:
- yyparse
- make_exception
2014-01-31 01:30:18 +01:00
Yukihiro "Matz" Matsumoto
a68a517028
refactor parser lineno adjustment; ref #1667
2014-01-31 00:49:46 +09:00
Yukihiro "Matz" Matsumoto
dd70ae0b6e
add semicolon after the statements
2014-01-30 22:08:31 +09:00
h2so5
36e0925053
more accurate backtrace lineno
2014-01-30 10:08:04 +09:00
Yukihiro "Matz" Matsumoto
c150f115a1
adjust lineno after continuing script files using mrb_partial_hook; close #1652
2014-01-08 13:05:19 +09:00
Yukihiro "Matz" Matsumoto
9c6398a444
rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513
2013-11-29 08:47:28 +09:00
Yukihiro "Matz" Matsumoto
edd6c17c1e
load_exec() no longer return fixnum value for no_exec; should close #1569
2013-11-13 15:48:13 +09:00
Yukihiro "Matz" Matsumoto
3bbf66f9f3
cancel #1565 since it breaks mirb; instead add special treatment to heredocs
2013-11-10 04:32:57 +09:00
Yukihiro "Matz" Matsumoto
29792d1725
Merge branch 'master' of github.com:mruby/mruby
2013-11-09 23:29:50 +09:00
Yukihiro "Matz" Matsumoto
ec0a94dae6
Merge pull request #1565 from Fleurer/fix1564
...
nextc(): always return an '\n' at end of input
2013-11-08 17:22:59 -08:00
fleuria
fa71403bc5
nextc(): always return an '\n' at end of input
...
fix #1564
2013-11-08 11:40:26 +08:00
Yukihiro "Matz" Matsumoto
e92d4e2680
modified to use irep->reps to reference child ireps. preparation for
...
removing irep array from mrb_state. note that instructions OP_LAMBDA,
OP_EXEC and OP_EPUSH are incompatible, and dumped mrb format has changed.
2013-11-07 03:54:22 +09:00
Yukihiro "Matz" Matsumoto
f80401de6c
resolved conflicts and updated to latest return value change of mrb_generate_code()
2013-11-05 00:13:01 +09:00
fleuria
a511957ec8
refactor mrb_context_run()
2013-11-03 12:05:25 +08:00
Yukihiro "Matz" Matsumoto
0be572df62
change return value from mrb_generate_code()
2013-11-02 23:20:04 +09:00
fleuria
c64cae4d2d
fix 3a4c8e2
...
unfortunately the previouse commit is incorrect, which still concate the
keywords, but like this:
method='"end\nb"' (201)
2013-10-30 17:17:13 +08:00
fleuria
3a4c8e2d9f
fix #1550
...
emit a "\n" as the first token for parser instead of taking the
first character from the next file for lexer, to prevent mruby
"concatenate" two keywords between files
it should be regarded as a work around, for it can not resolve
this case:
$ cat a.rb
"
$ cat b.rb
b"
$ bin/mrbc -o- -v a.rb b.rb
mruby - Embeddable Ruby Copyright (c) 2010-2013 mruby
developers
NODE_SCOPE:
NODE_BEGIN:
NODE_STR "
b " len 4
irep 0 nregs=2 nlocals=1 pools=1 syms=0
000 OP_STRING R1 "\n\nb "
001 OP_STOP
thanks @bovi 's idea
2013-10-30 10:34:28 +08:00
Yukihiro "Matz" Matsumoto
11b0dda641
Merge pull request #1509 from FUKUZAWA-Tadashi/heredoc-bugfix
...
fix bugs on Heredocument
2013-09-25 18:02:00 -07:00
Yuichi Nishiwaki
0e4a7b2a03
eliminate use of traditional intern API (mrb_intern()) completely
2013-09-23 19:36:50 -07:00
FUKUZAWA-Tadashi
8d34e00102
fix bugs on Heredocument
...
- heredoc in array literal
- heredoc in args
- heredoc in expression expand
2013-09-22 18:14:40 +09:00
Yukihiro "Matz" Matsumoto
d74887f582
incomplete renaming node->filename -> node->filename_index
2013-09-20 15:41:59 +09:00
Cremno
501df71833
MSVC: compilation works again (+minor style fixes)
2013-09-03 21:15:14 +02:00
take_cheeze
d606f9d33f
fix line number after first file
2013-09-03 00:29:49 +09:00