Mercurial > hg > octave-lyh
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; |