From 7eb8304ca1ec476d28b56f98506c7376be2c6394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Thu, 9 Aug 2018 20:18:16 +0200 Subject: [PATCH 01/11] WIP --- src/reason-parser/.reason_parser.mly.swo | Bin 0 -> 212992 bytes src/reason-parser/.reason_parser.mly.swp | Bin 0 -> 196608 bytes src/reason-parser/reason_lexer.mll | 2 + src/reason-parser/reason_parser.mly | 55 ++++++++++++++++++++++- test.re | 26 +++++++++++ 5 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/reason-parser/.reason_parser.mly.swo create mode 100644 src/reason-parser/.reason_parser.mly.swp create mode 100644 test.re diff --git a/src/reason-parser/.reason_parser.mly.swo b/src/reason-parser/.reason_parser.mly.swo new file mode 100644 index 0000000000000000000000000000000000000000..8a27e56d075177f60a8b63303af1d0aab324afe7 GIT binary patch literal 212992 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/src/reason-parser/.reason_parser.mly.swp b/src/reason-parser/.reason_parser.mly.swp new file mode 100644 index 0000000000000000000000000000000000000000..e7e52204740a94d036937f94af6226331000aab9 GIT binary patch literal 196608 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 literal 0 HcmV?d00001 diff --git a/src/reason-parser/reason_lexer.mll b/src/reason-parser/reason_lexer.mll index 80ecca1da..9f4ab30de 100644 --- a/src/reason-parser/reason_lexer.mll +++ b/src/reason-parser/reason_lexer.mll @@ -500,6 +500,8 @@ rule token = parse } | "#" operator_chars+ { SHARPOP(lexeme_operator lexbuf) } + | "?" operator_chars+ + { OPTIONALACCESS(lexeme_operator lexbuf) } | "#" [' ' '\t']* (['0'-'9']+ as num) [' ' '\t']* ("\"" ([^ '\010' '\013' '"' ] * as name) "\"")? [^ '\010' '\013'] * newline diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index 42bb0d771..bffaa9723 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -1143,6 +1143,7 @@ let prepend_attrs_to_labels attrs = function %token SEMISEMI %token SHARP %token SHARPOP +%token OPTIONALACCESS %token SIG %token STAR %token STRING @@ -1289,7 +1290,8 @@ conflicts. (* PREFIXOP and BANG precedence *) %nonassoc below_DOT_AND_SHARP (* practically same as below_SHARP but we convey purpose *) %nonassoc SHARP (* simple_expr/toplevel_directive *) -%left SHARPOP + +%left SHARPOP OPTIONALACCESS %nonassoc below_DOT %nonassoc DOT POSTFIXOP @@ -1299,6 +1301,7 @@ conflicts. (* Entry points *) %start implementation (* for implementation files *) + %type implementation %start interface (* for interface files *) %type interface @@ -2971,6 +2974,55 @@ parenthesized_expr: { mkexp (Pexp_send($1, $3)) } | E as_loc(SHARPOP) simple_expr_no_call { mkinfixop $1 (mkoperator $2) $3 } + (* + * let res = a?.b; + * + * --generates--> + * + * let res = switch a { + * | Some(a) => Some(a.b) + * | None => None + * }; + *) + | E OPTIONALACCESS simple_expr_no_call + { + let loc_exp = mklocation $startpos($1) $endpos($1) in + let somePat = + Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some({ + ppat_attributes = []; + ppat_loc = loc_exp; + ppat_desc = Ppat_var({ + txt = (match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x"); + loc = loc_exp; + }); + }))) in + let nonePat = + Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("None"); loc = loc_exp;}, None)) in + let someCase = + Exp.case somePat { + pexp_attributes = []; + pexp_loc = loc_exp; + pexp_desc = Pexp_construct({txt = Lident("Some"); loc = loc_exp}, Some({ + pexp_loc = loc_exp; + pexp_attributes = []; + pexp_desc = Pexp_field({ + pexp_loc = loc_exp; + pexp_attributes = []; + pexp_desc = Pexp_ident({ + txt = (match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("x")); + loc = loc_exp; + }); + }, {txt = (match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("__error__")); loc = loc_exp }); + })); + } in + let noneCase = + Exp.case nonePat { + pexp_loc = loc_exp; + pexp_attributes = []; + pexp_desc = Pexp_construct({ txt = Lident("None"); loc = loc_exp;}, None); + } in + mkexp (Pexp_match ($1, [someCase; noneCase])) + } | as_loc(mod_longident) DOT LPAREN MODULE module_expr COLON package_type RPAREN { let loc = mklocation $symbolstartpos $endpos in mkexp (Pexp_open(Fresh, $1, @@ -3563,6 +3615,7 @@ mark_position_pat | LPAREN COLONCOLON RPAREN LPAREN pattern_without_or COMMA pattern_without_or RPAREN { let loc_coloncolon = mklocation $startpos($2) $endpos($2) in + let loc = mklocation $symbolstartpos $endpos in mkpat_cons loc_coloncolon (mkpat ~ghost:true ~loc (Ppat_tuple[$5;$7])) loc } diff --git a/test.re b/test.re new file mode 100644 index 000000000..9ecd89a7c --- /dev/null +++ b/test.re @@ -0,0 +1,26 @@ +type obj = { a: int }; +type x = option(obj); + +let x = Some({ + a: 42 +}); + +/* + Syntax `?.` +*/ +let response1 = x?.a; + + +/* + Translates to +*/ + +let response2 = +switch x { + | Some(x) => Some(x.a) + | None => None +}; + + + + From 2736bf11f4bdb2460145f3f39a96a3b15ff159be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Thu, 9 Aug 2018 21:24:10 +0200 Subject: [PATCH 02/11] Transform ?. into switch pattern match --- src/reason-parser/reason_parser.mly | 56 ++++++++++++----------------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index bffaa9723..64c6cb5df 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -2987,41 +2987,29 @@ parenthesized_expr: | E OPTIONALACCESS simple_expr_no_call { let loc_exp = mklocation $startpos($1) $endpos($1) in - let somePat = - Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some({ - ppat_attributes = []; - ppat_loc = loc_exp; - ppat_desc = Ppat_var({ - txt = (match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x"); - loc = loc_exp; - }); - }))) in - let nonePat = + let pat_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x" in + let exp_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("x") in + let exp_prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("__error__") in + let some_pat = + Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some(mkpat (Ppat_var(mkloc pat_record_name loc_exp))))) in + let none_pat = Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("None"); loc = loc_exp;}, None)) in - let someCase = - Exp.case somePat { - pexp_attributes = []; - pexp_loc = loc_exp; - pexp_desc = Pexp_construct({txt = Lident("Some"); loc = loc_exp}, Some({ - pexp_loc = loc_exp; - pexp_attributes = []; - pexp_desc = Pexp_field({ - pexp_loc = loc_exp; - pexp_attributes = []; - pexp_desc = Pexp_ident({ - txt = (match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("x")); - loc = loc_exp; - }); - }, {txt = (match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("__error__")); loc = loc_exp }); - })); - } in - let noneCase = - Exp.case nonePat { - pexp_loc = loc_exp; - pexp_attributes = []; - pexp_desc = Pexp_construct({ txt = Lident("None"); loc = loc_exp;}, None); - } in - mkexp (Pexp_match ($1, [someCase; noneCase])) + let some_case = + Exp.case some_pat (mkexp (Pexp_construct ({txt = Lident("Some"); loc = loc_exp}, Some( + mkexp (Pexp_field ( + mkexp (Pexp_ident({ + txt = exp_record_name; + loc = loc_exp; + })), { + txt = exp_prop_name; + loc = loc_exp; + })) + )))); + in + let none_case = + Exp.case none_pat (mkexp (Pexp_construct({ txt = Lident("None"); loc = loc_exp;}, None))); + in + mkexp (Pexp_match ($1, [some_case; none_case])) } | as_loc(mod_longident) DOT LPAREN MODULE module_expr COLON package_type RPAREN { let loc = mklocation $symbolstartpos $endpos in From 7358ad602835c577150a1af8f6388ada764b8cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Thu, 9 Aug 2018 21:48:35 +0200 Subject: [PATCH 03/11] Handle JS property access `##` --- src/reason-parser/reason_parser.mly | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index 64c6cb5df..ae3bed58c 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -2990,12 +2990,8 @@ parenthesized_expr: let pat_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x" in let exp_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("x") in let exp_prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("__error__") in - let some_pat = - Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some(mkpat (Ppat_var(mkloc pat_record_name loc_exp))))) in - let none_pat = - Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("None"); loc = loc_exp;}, None)) in - let some_case = - Exp.case some_pat (mkexp (Pexp_construct ({txt = Lident("Some"); loc = loc_exp}, Some( + let access_property = match $2 with + | "?." -> mkexp (Pexp_field ( mkexp (Pexp_ident({ txt = exp_record_name; @@ -3004,7 +3000,24 @@ parenthesized_expr: txt = exp_prop_name; loc = loc_exp; })) - )))); + | "?#" -> + mkexp (Pexp_apply( + mkexp (Pexp_ident({ + txt = Lident("##"); + loc = loc_exp; + })), [ + Nolabel, mkexp (Pexp_ident({ txt = exp_record_name; loc = loc_exp})); + Nolabel, mkexp (Pexp_ident({ txt = exp_prop_name; loc = loc_exp })); + ] + )) + | _ -> syntax_error () + in + let some_pat = + Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some(mkpat (Ppat_var(mkloc pat_record_name loc_exp))))) in + let none_pat = + Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("None"); loc = loc_exp;}, None)) in + let some_case = + Exp.case some_pat (mkexp (Pexp_construct ({txt = Lident("Some"); loc = loc_exp}, Some(access_property)))); in let none_case = Exp.case none_pat (mkexp (Pexp_construct({ txt = Lident("None"); loc = loc_exp;}, None))); From 20ecc171d8868227dcd44fd76548f04858d16961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Thu, 9 Aug 2018 21:54:28 +0200 Subject: [PATCH 04/11] Should never happen --- src/reason-parser/reason_parser.mly | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index ae3bed58c..0d1b2e113 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -2989,7 +2989,7 @@ parenthesized_expr: let loc_exp = mklocation $startpos($1) $endpos($1) in let pat_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x" in let exp_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("x") in - let exp_prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("__error__") in + let exp_prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> syntax_error () in let access_property = match $2 with | "?." -> mkexp (Pexp_field ( From 87788a411b7ad69769d0571f486cb9ba662b3f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Thu, 9 Aug 2018 22:39:41 +0200 Subject: [PATCH 05/11] Merge exp_rec_name pat_rec_name --- src/reason-parser/reason_parser.mly | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index 0d1b2e113..9ff1377f6 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -2987,17 +2987,16 @@ parenthesized_expr: | E OPTIONALACCESS simple_expr_no_call { let loc_exp = mklocation $startpos($1) $endpos($1) in - let pat_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x" in - let exp_record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> Lident("x") in - let exp_prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> syntax_error () in + let record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x" in + let prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> syntax_error () in let access_property = match $2 with | "?." -> mkexp (Pexp_field ( mkexp (Pexp_ident({ - txt = exp_record_name; + txt = Lident(record_name); loc = loc_exp; })), { - txt = exp_prop_name; + txt = prop_name; loc = loc_exp; })) | "?#" -> @@ -3006,14 +3005,14 @@ parenthesized_expr: txt = Lident("##"); loc = loc_exp; })), [ - Nolabel, mkexp (Pexp_ident({ txt = exp_record_name; loc = loc_exp})); - Nolabel, mkexp (Pexp_ident({ txt = exp_prop_name; loc = loc_exp })); + Nolabel, mkexp (Pexp_ident({ txt = Lident(record_name); loc = loc_exp})); + Nolabel, mkexp (Pexp_ident({ txt = prop_name; loc = loc_exp })); ] )) | _ -> syntax_error () in let some_pat = - Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some(mkpat (Ppat_var(mkloc pat_record_name loc_exp))))) in + Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some(mkpat (Ppat_var(mkloc record_name loc_exp))))) in let none_pat = Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("None"); loc = loc_exp;}, None)) in let some_case = From fdea702c0986579bf5297cde8873a6fe8c44797b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Sun, 12 Aug 2018 10:38:00 +0200 Subject: [PATCH 06/11] gitignore vim temp files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index ac69ea0c7..b9a8e2c43 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ _esybuild _esyinstall .merlin _release +**/*.swp +**/*.swo From 9f16cea1daf956afb9815d94703cae115b204a12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Sun, 12 Aug 2018 10:38:56 +0200 Subject: [PATCH 07/11] Add bind operator ?.+ and ?.# and handle recursive access --- src/reason-parser/.reason_parser.mly.swo | Bin 212992 -> 204800 bytes src/reason-parser/reason_parser.mly | 32 +++++++++++++---- test.re | 43 ++++++++++++----------- 3 files changed, 48 insertions(+), 27 deletions(-) diff --git a/src/reason-parser/.reason_parser.mly.swo b/src/reason-parser/.reason_parser.mly.swo index 8a27e56d075177f60a8b63303af1d0aab324afe7..65e6d7411f9f322fcefc2ab6a4501bad354f60ae 100644 GIT binary patch delta 12593 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 T_gme6kKQ*er8c)Ps(Sbj)B^!0 delta 12391 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 diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index 9ff1377f6..b666bfc27 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -1291,7 +1291,8 @@ conflicts. %nonassoc below_DOT_AND_SHARP (* practically same as below_SHARP but we convey purpose *) %nonassoc SHARP (* simple_expr/toplevel_directive *) -%left SHARPOP OPTIONALACCESS +%left SHARPOP +%right OPTIONALACCESS %nonassoc below_DOT %nonassoc DOT POSTFIXOP @@ -2988,35 +2989,52 @@ parenthesized_expr: { let loc_exp = mklocation $startpos($1) $endpos($1) in let record_name = match $1.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> str | _ -> "x" in - let prop_name = match $3.pexp_desc with Pexp_ident({txt = Lident(str); loc;}) -> Lident(str) | _ -> syntax_error () in + let prop_name = match $3.pexp_desc with + | Pexp_ident({txt = Lident(str); loc;}) -> str + | Pexp_match({pexp_desc = Pexp_ident({txt = Lident(str); loc;})}, _) -> str + | _ -> syntax_error () + in let access_property = match $2 with - | "?." -> + | "?." | "?.+" -> mkexp (Pexp_field ( mkexp (Pexp_ident({ txt = Lident(record_name); loc = loc_exp; })), { - txt = prop_name; + txt = Lident(prop_name); loc = loc_exp; })) - | "?#" -> + | "?#" | "?#+" -> mkexp (Pexp_apply( mkexp (Pexp_ident({ txt = Lident("##"); loc = loc_exp; })), [ Nolabel, mkexp (Pexp_ident({ txt = Lident(record_name); loc = loc_exp})); - Nolabel, mkexp (Pexp_ident({ txt = prop_name; loc = loc_exp })); + Nolabel, mkexp (Pexp_ident({ txt = Lident(prop_name); loc = loc_exp })); ] )) | _ -> syntax_error () in + let access_property_exp = match $2 with + | "?." | "?#" -> mkexp (Pexp_construct ({txt = Lident("Some"); loc = loc_exp}, Some(access_property))) + | "?.+" | "?#+" -> access_property + in + let some_exp = match $3.pexp_desc with + | Pexp_ident(_) -> access_property_exp + | Pexp_match(_, _) -> mkexp (Pexp_let(Nonrecursive, [{ + pvb_pat = mkpat (Ppat_var(mkloc prop_name loc_exp)); + pvb_expr = access_property_exp; + pvb_attributes = []; + pvb_loc = loc_exp; + }], $3)); + | _ -> syntax_error () in let some_pat = Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("Some"); loc = loc_exp}, Some(mkpat (Ppat_var(mkloc record_name loc_exp))))) in let none_pat = Pat.mk ~loc:loc_exp (Ppat_construct({ txt = Lident("None"); loc = loc_exp;}, None)) in let some_case = - Exp.case some_pat (mkexp (Pexp_construct ({txt = Lident("Some"); loc = loc_exp}, Some(access_property)))); + Exp.case some_pat some_exp in let none_case = Exp.case none_pat (mkexp (Pexp_construct({ txt = Lident("None"); loc = loc_exp;}, None))); diff --git a/test.re b/test.re index 9ecd89a7c..2df1cbf9d 100644 --- a/test.re +++ b/test.re @@ -1,26 +1,29 @@ -type obj = { a: int }; -type x = option(obj); - -let x = Some({ - a: 42 -}); - -/* - Syntax `?.` -*/ -let response1 = x?.a; - - -/* - Translates to -*/ +type b = { + c: string +}; -let response2 = -switch x { - | Some(x) => Some(x.a) - | None => None +type _a = { + b: b }; +type a = option(_a); +let a = Some({ + b: { + c: "hi" + } +}); +let codegen = a?.b?.c; + +let res = switch a { + | None => None + | Some(a) => { + let b = Some(a.b); + switch b { + | None => None + | Some(b) => Some(b.c) + } + } +}; From da7c985f32195fc50f4fd2a10b0f74d1464b0931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Sun, 12 Aug 2018 12:25:00 +0200 Subject: [PATCH 08/11] wip tests --- src/reason-parser/.reason_parser.mly.swo | Bin 204800 -> 16384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/reason-parser/.reason_parser.mly.swo b/src/reason-parser/.reason_parser.mly.swo index 65e6d7411f9f322fcefc2ab6a4501bad354f60ae..371ea1a8a8014f7ee2e7a19073ab49141eeda829 100644 GIT binary patch delta 1379 zcmZ9K%}Z2K7{<@c)x7GRyc0r~f@o1-o6vQu7G>gQS|k_+B~y-Ir6MAg+zEnK#>jvR z{Rfmb*$}lU+u1G`*{3#B_HEgeS($x3xBI+s&pGfg=b7L0zUS*^?>O0PEa$~XJEykX zvqoks3(Ho$6Wg7)+@1Dcj(nr**?+{OV1A3~f%zpS2eU5bD$GwYvoLF7$}m5~xJl3c zE~XLYo0t^Ls+b;_uVQjZ&tIYGRN)w`41Z(vU&uS?iw6Hp-cG)EgI-@IA0QvoxvxGk z(9eKdr8ih6mknMt_($>->z54vfxL};j~(srE49SHIR-|wfKu<(FRJrBkv+V zYw)+^8S=#_$NK6G1IHL>tqCXc1h2`DkY6$QEApe{RkeEkOLBRlbcCM@qKgb1XMo1q@1kb&UwgK<|2DD{AR zFvO}k8BXNB=g3FNrwx9eypR0Qrbzu(%q@ao9*h|V@)xEW3T}m0b8UNt>o4FLPXw2b z?MZSPXT1$whK3;@%0LI8{m?#W2b6$HxYr_d9U6kpLv2tqR0~x@HdMkIlh6dz1!W+t TYpHbN#=&yD=oHqQ#^e704T-RZ literal 204800 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%0AWkI$G0ffMV{1@lB_ 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 From b20803ed6330ad4024a84576767413b046ff70a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Sun, 12 Aug 2018 22:26:02 +0200 Subject: [PATCH 09/11] add syntax error when none of the operators --- src/reason-parser/reason_parser.mly | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index b666bfc27..521d79c48 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -3019,6 +3019,7 @@ parenthesized_expr: let access_property_exp = match $2 with | "?." | "?#" -> mkexp (Pexp_construct ({txt = Lident("Some"); loc = loc_exp}, Some(access_property))) | "?.+" | "?#+" -> access_property + | _ -> syntax_error () in let some_exp = match $3.pexp_desc with | Pexp_ident(_) -> access_property_exp From e4f80af418a99da021590e22cb2a38565a08ce81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Tue, 14 Aug 2018 18:44:04 +0200 Subject: [PATCH 10/11] Expand example --- src/reason-parser/reason_parser.mly | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/reason-parser/reason_parser.mly b/src/reason-parser/reason_parser.mly index 521d79c48..a83bdae62 100644 --- a/src/reason-parser/reason_parser.mly +++ b/src/reason-parser/reason_parser.mly @@ -2984,6 +2984,17 @@ parenthesized_expr: * | Some(a) => Some(a.b) * | None => None * }; + * + * let res = c?.+d; + * + * -generates-> + * + * let res = switch c { + * | Some(c) => c.d <-- assuming d is optional + * | None => None + * }; + * + * Same goes for ?# and ?#+ for JS objects *) | E OPTIONALACCESS simple_expr_no_call { From 5a767fd2a970a76e950c0bac47f9979c12189f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Van=20der=20Auwermeulen?= Date: Tue, 14 Aug 2018 18:45:26 +0200 Subject: [PATCH 11/11] delete test file --- test.re | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 test.re diff --git a/test.re b/test.re deleted file mode 100644 index 2df1cbf9d..000000000 --- a/test.re +++ /dev/null @@ -1,29 +0,0 @@ -type b = { - c: string -}; - -type _a = { - b: b -}; - -type a = option(_a); - -let a = Some({ - b: { - c: "hi" - } -}); - -let codegen = a?.b?.c; - -let res = switch a { - | None => None - | Some(a) => { - let b = Some(a.b); - switch b { - | None => None - | Some(b) => Some(b.c) - } - } -}; -