Index: compilers/nqp/src/Grammar.pg
===================================================================
--- compilers/nqp/src/Grammar.pg	(revision 26587)
+++ compilers/nqp/src/Grammar.pg	(working copy)
@@ -345,7 +345,7 @@
 }
 
 
-token typename { 
+token typename {
     <name> {*}                                             #= name
 }
 
@@ -412,6 +412,14 @@
     is pirop('n_sub')
     { ... }
 
+## Postfix operators
+proto postfix:<++> is tighter(infix:<*>)
+    is pasttype('inline')
+    { ... }
+proto postfix:<--> is equiv(postfix:<++>)
+    is pasttype('inline')
+    { ... }
+
 ## Concatenation operators
 proto infix:<~> is looser(infix:<+>)
     is pirop('n_concat')
@@ -424,6 +432,19 @@
 proto infix:<!=> is equiv(infix:<==>)
     is pasttype('inline')
     { ... }
+proto 'infix:>=' is equiv(infix:<==>)
+    is pasttype('inline')
+    { ... }
+proto 'infix:<=' is equiv(infix:<==>)
+    is pasttype('inline')
+    { ... }
+proto 'infix:>' is equiv(infix:<==>)
+    is pasttype('inline')
+    { ... }
+proto 'infix:<' is equiv(infix:<==>)
+    is pasttype('inline')
+    { ... }
+
 proto infix:<eq> is equiv(infix:<==>)
     is pasttype('inline')
     { ... }
Index: compilers/nqp/src/Grammar/Actions.pir
===================================================================
--- compilers/nqp/src/Grammar/Actions.pir	(revision 26587)
+++ compilers/nqp/src/Grammar/Actions.pir	(working copy)
@@ -25,6 +25,18 @@
         %r = $N0
         END
 
+    optable['postfix:++'; 'inline'] = <<"        END"
+        ##  inline postfix:++
+        clone %r, %0
+        inc %0
+        END
+
+    optable['postfix:--'; 'inline'] = <<"        END"
+        ##  inline postfix:--
+        clone %r, %0
+        dec %0
+        END
+
     optable['infix:=='; 'inline'] = <<"        END"
         ##  inline infix:==
         $I0 = cmp_num %0, %1
@@ -41,6 +53,38 @@
         %r = $I0
         END
 
+    optable['infix:<'; 'inline'] = <<"        END"
+        ##  inline infix:!=
+        $I0 = cmp_num %0, %1
+        $I0 = islt $I0, 0
+        %r = new 'Integer'
+        %r = $I0
+        END
+
+    optable['infix:<='; 'inline'] = <<"        END"
+        ##  inline infix:!=
+        $I0 = cmp_num %0, %1
+        $I0 = isle $I0, 0
+        %r = new 'Integer'
+        %r = $I0
+        END
+
+    optable['infix:>'; 'inline'] = <<"        END"
+        ##  inline infix:!=
+        $I0 = cmp_num %0, %1
+        $I0 = isgt $I0, 0
+        %r = new 'Integer'
+        %r = $I0
+        END
+
+    optable['infix:>='; 'inline'] = <<"        END"
+        ##  inline infix:!=
+        $I0 = cmp_num %0, %1
+        $I0 = isge $I0, 0
+        %r = new 'Integer'
+        %r = $I0
+        END
+
     optable['infix:eq'; 'inline'] = <<"        END"
         ##  inline infix:eq
         $S0 = %0
Index: compilers/nqp/t/14-op.t
===================================================================
--- compilers/nqp/t/14-op.t	(revision 26587)
+++ compilers/nqp/t/14-op.t	(working copy)
@@ -2,7 +2,7 @@
 
 # checking basic operands and circumfix:( )
 
-plan(17);
+plan(29);
 
 ##Additive operators
 ok(      1+2  == 3, 'Checking addition 1+2');
@@ -28,3 +28,22 @@
 ok( 'a' ~ 'b' eq 'ab', 'Checking concatenation "a" ~ "b"');
 ok(  1  ~ 'b' eq '1b', 'Checking concatenation  1  ~ "b"');
 ok( 'a' ~  2  eq 'a2', 'Checking concatenation "a" ~  2 ');
+
+##Postfix operators
+my $x := 0;
+ok( $x++ == 0 );
+ok( $x   == 1 );
+ok( $x-- == 1 );
+ok( $x   == 0 );
+
+##Relational operators
+ok( 1 <  2 == 1);
+ok( 2 <  1 == 0);
+ok( 2 <= 2 == 1);
+ok( 3 <= 2 == 0);
+ok( 2 >  1 == 1);
+ok( 2 >  3 == 0);
+ok( 2 >= 1 == 1);
+ok( 2 >= 3 == 0);
+
+
