summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core
diff options
context:
space:
mode:
authortake-cheeze <[email protected]>2019-12-23 21:01:11 +0900
committertake-cheeze <[email protected]>2019-12-23 21:01:11 +0900
commit10e9f193ca93677e365a7e616439eec277b6c71c (patch)
tree505d25027554b7383ba7406ce12fd173fb03c7d4 /mrbgems/mruby-compiler/core
parent49301ed7855017d7fe5c79d758b60bf99585692f (diff)
downloadmruby-10e9f193ca93677e365a7e616439eec277b6c71c.tar.gz
mruby-10e9f193ca93677e365a7e616439eec277b6c71c.zip
Handle CR LF newline natively in lexer
Diffstat (limited to 'mrbgems/mruby-compiler/core')
-rw-r--r--mrbgems/mruby-compiler/core/parse.y7
1 files changed, 7 insertions, 0 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index 6abc6d820..de875a1ae 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -3984,6 +3984,13 @@ nextc(parser_state *p)
if (c >= 0) {
p->column++;
}
+ if (c == '\r') {
+ const int lf = nextc(p);
+ if (lf == '\n') {
+ return '\n';
+ }
+ pushback(p, lf);
+ }
return c;
eof: