mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-17 08:38:42 +00:00
Define symbols as text between ''.
This commit is contained in:
parent
c27b2449d1
commit
0efd646278
@ -131,7 +131,11 @@ WHITE [ \t]
|
||||
return NUM;
|
||||
}
|
||||
|
||||
{ALPHA}{ALNUM}* {
|
||||
({ALPHA}{ALNUM}*|[']({ALNUM}|[-])*[']) {
|
||||
if(*yytext == '\'') {
|
||||
yytext[yyleng-1] = 0;
|
||||
yytext++;
|
||||
}
|
||||
unsigned int h = cf_hash(yytext);
|
||||
struct keyword *k = kw_hash[h & (KW_HASH_SIZE-1)];
|
||||
while (k)
|
||||
|
@ -13,7 +13,8 @@
|
||||
#router id 62.168.0.1;
|
||||
|
||||
# You can define your own symbols...
|
||||
#define xyzzy = 120+10;
|
||||
#define xyzzy = (120+10);
|
||||
#define '1a-a1' = (30+40);
|
||||
|
||||
# Define a route filter...
|
||||
filter test_filter {
|
||||
|
@ -8,9 +8,10 @@
|
||||
router id 62.168.0.1;
|
||||
|
||||
define xyzzy = (120+10);
|
||||
define '1a-a1' = (20+10);
|
||||
|
||||
|
||||
function mkpair(int a)
|
||||
function 'mkpair-a'(int a)
|
||||
{
|
||||
return (1, a);
|
||||
}
|
||||
@ -132,7 +133,8 @@ pair pp;
|
||||
int set is;
|
||||
prefix set pxs;
|
||||
string s;
|
||||
{
|
||||
{
|
||||
print "1a-a1 = 30: ", '1a-a1';
|
||||
print "Testing filter language:";
|
||||
i = four;
|
||||
i = 12*100 + 60/2 + i;
|
||||
@ -149,9 +151,9 @@ string s;
|
||||
is = [ 2, 3, 4, 7..11 ];
|
||||
print " must be true: ", 1.2.0.0/16 ~ [ 1.0.0.0/8{ 15 , 17 } ];
|
||||
print " data types; must be true: ", 1.2.3.4 = 1.2.3.4, ",", 1 ~ [1,2,3], ",", 5 ~ [1..20], ",", 10 ~ is, ",", 2 ~ [ 1, 2, 3 ], ",", 5 ~ [ 4 .. 7 ], ",", 1.2.3.4 ~ [ 1.2.3.3..1.2.3.5 ], ",", 1.2.3.4 ~ 1.0.0.0/8, ",", 1.0.0.0/8 ~ 1.0.0.0/8, ",", 1.0.0.0/8 ~ [ 1.0.0.0/8+ ];
|
||||
print " must be true: ", true && true, ",", true || false, ",", ! false && ! false && true, ",", 1 < 2 && 1 != 3;
|
||||
print " must be true: ", true && true, ",", true || false, ",", ! false && ! false && true, ",", 1 < 2 && 1 != 3, ",", true && true && ! false;
|
||||
|
||||
# print " must be true: ", defined(1), ",", defined(1.2.3.4), ",", 1 != 2, ",", 1 <= 2;
|
||||
print " must be true: ", defined(1), ",", defined(1.2.3.4), ",", 1 != 2, ",", 1 <= 2;
|
||||
print " data types: must be false: ", 1 ~ [ 2, 3, 4 ], ",", 5 ~ is, ",", 1.2.3.4 ~ [ 1.2.3.3, 1.2.3.5 ], ",", (1,2) > (2,2), ",", (1,1) > (1,1), ",", 1.0.0.0/9 ~ [ 1.0.0.0/8- ], ",", 1.2.0.0/17 ~ [ 1.0.0.0/8{ 15 , 16 } ], ",", true && false;
|
||||
|
||||
px = 1.2.0.0/18;
|
||||
@ -163,7 +165,7 @@ string s;
|
||||
print "Testing mask : 127.0.0.0 = ", p.mask(8);
|
||||
|
||||
pp = (1, 2);
|
||||
print "Testing pairs: (1,2) = ", (1,2), " = ", pp, " = ", (1,1+1), " = ", mkpair(2);
|
||||
print "Testing pairs: (1,2) = ", (1,2), " = ", pp, " = ", (1,1+1), " = ", 'mkpair-a'(2);
|
||||
print " must be true: ", (1,2) = (1,1+1);
|
||||
print "Testing enums: ", RTS_DUMMY, " ", RTS_STATIC;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user