852 comm->origin = m_lexer->describeCurrentPosition(); |
852 comm->origin = m_lexer->describeCurrentPosition(); |
853 |
853 |
854 // Return value |
854 // Return value |
855 m_lexer->mustGetAnyOf ({TK_Int,TK_Void,TK_Bool,TK_Str}); |
855 m_lexer->mustGetAnyOf ({TK_Int,TK_Void,TK_Bool,TK_Str}); |
856 comm->returnvalue = getTypeByName (m_lexer->token()->text); // TODO |
856 comm->returnvalue = getTypeByName (m_lexer->token()->text); // TODO |
857 assert (comm->returnvalue != -1); |
857 ASSERT_NE (comm->returnvalue, -1); |
858 |
858 |
859 // Number |
859 // Number |
860 m_lexer->mustGetNext (TK_Number); |
860 m_lexer->mustGetNext (TK_Number); |
861 comm->number = m_lexer->token()->text.toLong(); |
861 comm->number = m_lexer->token()->text.toLong(); |
862 m_lexer->mustGetNext (TK_Colon); |
862 m_lexer->mustGetNext (TK_Colon); |
875 m_lexer->mustGetNext (TK_Comma); |
875 m_lexer->mustGetNext (TK_Comma); |
876 |
876 |
877 CommandArgument arg; |
877 CommandArgument arg; |
878 m_lexer->mustGetAnyOf ({TK_Int,TK_Bool,TK_Str}); |
878 m_lexer->mustGetAnyOf ({TK_Int,TK_Bool,TK_Str}); |
879 DataType type = getTypeByName (m_lexer->token()->text); // TODO |
879 DataType type = getTypeByName (m_lexer->token()->text); // TODO |
880 assert (type != -1 && type != TYPE_Void); |
880 ASSERT_NE (type, -1) |
|
881 ASSERT_NE (type, TYPE_Void) |
881 arg.type = type; |
882 arg.type = type; |
882 |
883 |
883 m_lexer->mustGetNext (TK_Symbol); |
884 m_lexer->mustGetNext (TK_Symbol); |
884 arg.name = m_lexer->token()->text; |
885 arg.name = m_lexer->token()->text; |
885 |
886 |
1064 case TK_DoublePlus: return ASSIGNOP_Increase; |
1065 case TK_DoublePlus: return ASSIGNOP_Increase; |
1065 case TK_DoubleMinus: return ASSIGNOP_Decrease; |
1066 case TK_DoubleMinus: return ASSIGNOP_Decrease; |
1066 default: break; |
1067 default: break; |
1067 } |
1068 } |
1068 |
1069 |
1069 assert (false); |
1070 error ("WTF bad operator token %1", m_lexer->describeToken (m_lexer->token())); |
1070 return (AssignmentOperator) 0; |
1071 return (AssignmentOperator) 0; |
1071 } |
1072 } |
1072 |
1073 |
1073 // ============================================================================ |
1074 // ============================================================================ |
1074 // |
1075 // |