comparison libinterp/parse-tree/lex.ll @ 28517:6e8a9845d118

Add 'spmd' as interpreter keyword for Matlab compatibility (bug #58676). * op-kw-docs: Document 'spmd', 'endspmd' keywords. * lex.ll (base_lexer::make_keyword_token): Add case statements for 'spmd', 'endspmd'. Code is not correct, but something is required to prevent segfault. * oct-parse.yy: Add SPMD token type. * oct-parse.yy (end_token_as_string): Add case statement for 'endspmd'. * octave.gperf: Add endspmd_kw, spmd_kw to enum octave_kw_id. Add declarations to octave_kw struct for endspmd, spmd. * token.h: Add spmd_end to enm end_tok_type.
author Rik <rik@octave.org>
date Tue, 30 Jun 2020 09:34:14 -0700
parents 808e3964987b
children a5541f5a78dd
comparison
equal deleted inserted replaced
28516:70d155283f33 28517:6e8a9845d118
2761 tok_val = new token (endproperties_kw, token::properties_end, m_tok_beg, 2761 tok_val = new token (endproperties_kw, token::properties_end, m_tok_beg,
2762 m_tok_end); 2762 m_tok_end);
2763 m_at_beginning_of_statement = true; 2763 m_at_beginning_of_statement = true;
2764 break; 2764 break;
2765 2765
2766
2767 case for_kw: 2766 case for_kw:
2768 case parfor_kw: 2767 case parfor_kw:
2769 case while_kw: 2768 case while_kw:
2770 m_looping++; 2769 m_looping++;
2771 break; 2770 break;
2840 // to the function keyword. 2839 // to the function keyword.
2841 2840
2842 m_filepos = filepos (); 2841 m_filepos = filepos ();
2843 update_token_positions (slen); 2842 update_token_positions (slen);
2844 } 2843 }
2844 break;
2845
2846 /* Unimplementd 'spmd' keyword for Matlab compatibility only.
2847 FIXME: Allow spmd statement, but treat as no-op, bug #58676. */
2848 case spmd_kw:
2849 /* m_at_beginning_of_statement = true; */
2850 break;
2851
2852 case endspmd_kw:
2853 /*
2854 tok_val = new token (endspmd_kw, token::spmd_end, m_tok_beg,
2855 m_tok_end);
2856 m_at_beginning_of_statement = true;
2857 */
2845 break; 2858 break;
2846 2859
2847 case magic_file_kw: 2860 case magic_file_kw:
2848 { 2861 {
2849 if ((m_reading_fcn_file || m_reading_script_file 2862 if ((m_reading_fcn_file || m_reading_script_file