Commit Graph

252 Commits

Author SHA1 Message Date
cremno 69da21bcb4 ISSPACE evaluates its argument multiple times 2014-06-05 20:22:20 +02:00
yui-knk b56a47cc38 Fix indent. 2014-06-03 16:29:42 +09:00
yui-knk 490d946bca Remove space. 2014-06-03 16:29:42 +09:00
Yukihiro "Matz" Matsumoto 6bf1ee78c8 add internal function mrb_toplevel_run_keep() to keep stack contents; close #2326 2014-05-30 15:25:58 +09:00
yui-knk 5fd1eaec58 fix indent. 2014-05-27 08:48:12 +09:00
Jun Hiroe 665bc37288 Add new line behind return type 2014-05-16 22:46:41 +09:00
cremno 8876c059a7 fix memcpy-param-overlap 2014-05-05 04:07:54 +02:00
Nobuyoshi Nakada 8b13efc26d count skipped line numbers 2014-05-03 08:42:32 +09:00
Nobuyoshi Nakada cf3b880df6 skip to the next line and reset column after =end 2014-05-03 08:42:31 +09:00
Nobuyoshi Nakada 82fce52211 fix char after =end
skips() advance after the string skipped.
2014-05-03 08:42:31 +09:00
Nobuyoshi Nakada 854ae564a3 fix embedded documents
tabs are allowed after `=begin` and `=end`.
raise `SyntaxError` if no =end is found.
2014-05-03 08:42:31 +09:00
Nobuyoshi Nakada 69c6ff7aa0 fix condition for the rest of input
the input must rest the length of a string to be peeked at least.
fixes parse error at embedded documents by string eval, and `-e`
command line options.
2014-05-03 08:42:31 +09:00
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