T_OP_CMP_TRUE, /* =* 20 */
T_OP_CMP_FALSE, /* !* */
T_OP_CMP_EQ, /* == */
+ T_OP_PREPEND, /* ^= */
T_HASH, /* # */
- T_BARE_WORD, /* bare word */
- T_DOUBLE_QUOTED_STRING, /* "foo" 25 */
+ T_BARE_WORD, /* bare word 25 */
+ T_DOUBLE_QUOTED_STRING, /* "foo" */
T_SINGLE_QUOTED_STRING, /* 'foo' */
T_BACK_QUOTED_STRING, /* `foo` */
T_TOKEN_LAST
} FR_TOKEN;
#define T_EQSTART T_OP_ADD
-#define T_EQEND (T_OP_CMP_EQ + 1)
+#define T_EQEND (T_OP_PREPEND + 1)
typedef struct FR_NAME_NUMBER {
char const *name;
{ "=*", T_OP_CMP_TRUE, },
{ "!*", T_OP_CMP_FALSE, },
{ "==", T_OP_CMP_EQ, },
+ { "^=", T_OP_PREPEND, },
{ "=", T_OP_EQ, },
{ "!=", T_OP_NE, },
{ ">=", T_OP_GE, },
true, /* += */
true, /* -= 10 */
true, /* := */
+ true, /* ^= */
true, /* = */
false, /* != */
- false, /* >= */
- false, /* > 15 */
+ false, /* >= 15 */
+ false, /* > */
false, /* <= */
false, /* < */
false, /* =~ */
- false, /* !~ */
- false, /* =* 20 */
+ false, /* !~ 20 */
+ false, /* =* */
false, /* !* */
false, /* == */
- false, /* # */
- false, /* bare word */
- false, /* "foo" 25 */
+ false, /* # */
+ false, /* bare word 25 */
+ false, /* "foo" */
false, /* 'foo' */
false, /* `foo` */
false
false, /* += */
false, /* -= 10 */
false, /* := */
+ false, /* ^= */
false, /* = */
true, /* != */
- true, /* >= */
- true, /* > 15 */
+ true, /* >= 15 */
+ true, /* > */
true, /* <= */
true, /* < */
true, /* =~ */
- true, /* !~ */
- true, /* =* 20 */
+ true, /* !~ 20 */
+ true, /* =* */
true, /* !* */
true, /* == */
- false, /* # */
- false, /* bare word */
- false, /* "foo" 25 */
+ false, /* # */
+ false, /* bare word 25 */
+ false, /* "foo" */
false, /* 'foo' */
false, /* `foo` */
false
false, /* += */
false, /* -= 10 */
false, /* := */
+ false, /* ^= */
false, /* = */
false, /* != */
- false, /* >= */
- false, /* > 15 */
+ false, /* >= 15 */
+ false, /* > */
false, /* <= */
false, /* < */
false, /* =~ */
- false, /* !~ */
- false, /* =* 20 */
+ false, /* !~ 20 */
+ false, /* =* */
false, /* !* */
false, /* == */
- false, /* # */
- true, /* bare word */
- true, /* "foo" 25 */
+ false, /* # */
+ true, /* bare word 25 */
+ true, /* "foo" */
true, /* 'foo' */
true, /* `foo` */
false