comparison src/parse.y @ 3203:bc61b0e8d60e

[project @ 1998-10-30 20:26:27 by jwe]
author jwe
date Fri, 30 Oct 1998 20:26:31 +0000
parents 7a5a5da64756
children 81738e630f57
comparison
equal deleted inserted replaced
3202:44d82b369c78 3203:bc61b0e8d60e
530 matrix : '[' ']' 530 matrix : '[' ']'
531 { $$ = new tree_constant (octave_value (Matrix ())); } 531 { $$ = new tree_constant (octave_value (Matrix ())); }
532 | '[' ';' ']' 532 | '[' ';' ']'
533 { $$ = new tree_constant (octave_value (Matrix ())); } 533 { $$ = new tree_constant (octave_value (Matrix ())); }
534 | '[' in_matrix_or_assign_lhs rows ']' 534 | '[' in_matrix_or_assign_lhs rows ']'
535 { $$ = finish_matrix ($3); } 535 {
536 $$ = finish_matrix ($3);
537 lexer_flags.looking_at_matrix_or_assign_lhs = false;
538 }
536 ; 539 ;
537 540
538 rows : rows1 541 rows : rows1
539 { $$ = $1; } 542 { $$ = $1; }
540 | rows1 ';' // Ignore trailing semicolon. 543 | rows1 ';' // Ignore trailing semicolon.
1840 // Build a prefix expression. 1843 // Build a prefix expression.
1841 1844
1842 static tree_expression * 1845 static tree_expression *
1843 make_prefix_op (int op, tree_expression *op1, token *tok_val) 1846 make_prefix_op (int op, tree_expression *op1, token *tok_val)
1844 { 1847 {
1845 tree_prefix_expression::type t; 1848 octave_value::unary_op t = octave_value::unknown_unary_op;
1846 1849
1847 switch (op) 1850 switch (op)
1848 { 1851 {
1849 case EXPR_NOT: 1852 case EXPR_NOT:
1850 t = tree_prefix_expression::unot; 1853 t = octave_value::not;
1851 break; 1854 break;
1852 1855
1853 case '-': 1856 case '-':
1854 t = tree_prefix_expression::uminus; 1857 t = octave_value::uminus;
1855 break; 1858 break;
1856 1859
1857 case PLUS_PLUS: 1860 case PLUS_PLUS:
1858 t = tree_prefix_expression::increment; 1861 t = octave_value::incr;
1859 break; 1862 break;
1860 1863
1861 case MINUS_MINUS: 1864 case MINUS_MINUS:
1862 t = tree_prefix_expression::decrement; 1865 t = octave_value::decr;
1863 break; 1866 break;
1864 1867
1865 default: 1868 default:
1866 panic_impossible (); 1869 panic_impossible ();
1867 break; 1870 break;
1878 // Build a postfix expression. 1881 // Build a postfix expression.
1879 1882
1880 static tree_expression * 1883 static tree_expression *
1881 make_postfix_op (int op, tree_expression *op1, token *tok_val) 1884 make_postfix_op (int op, tree_expression *op1, token *tok_val)
1882 { 1885 {
1883 tree_postfix_expression::type t; 1886 octave_value::unary_op t = octave_value::unknown_unary_op;
1884 1887
1885 switch (op) 1888 switch (op)
1886 { 1889 {
1887 case QUOTE: 1890 case QUOTE:
1888 t = tree_postfix_expression::hermitian; 1891 t = octave_value::hermitian;
1889 break; 1892 break;
1890 1893
1891 case TRANSPOSE: 1894 case TRANSPOSE:
1892 t = tree_postfix_expression::transpose; 1895 t = octave_value::transpose;
1893 break; 1896 break;
1894 1897
1895 case PLUS_PLUS: 1898 case PLUS_PLUS:
1896 t = tree_postfix_expression::increment; 1899 t = octave_value::incr;
1897 break; 1900 break;
1898 1901
1899 case MINUS_MINUS: 1902 case MINUS_MINUS:
1900 t = tree_postfix_expression::decrement; 1903 t = octave_value::decr;
1901 break; 1904 break;
1902 1905
1903 default: 1906 default:
1904 panic_impossible (); 1907 panic_impossible ();
1905 break; 1908 break;