--- 3.0\JvHLParser.pas	Thu Feb 17 11:20:36 2005
+++ JvHLParser.pas	Wed Aug 17 14:33:12 2005
@@ -54,7 +54,7 @@
   ieBadRemark = 1;
 
 type
-  TIParserStyle = (psNone, psPascal, psCpp, psPython, psVB, psHtml, psPerl, psCocoR, psPhp);
+  TIParserStyle = (psNone, psPascal, psCpp, psPython, psVB, psHtml, psPerl, psCocoR, psPhp, psSql);
 
   TJvIParser = class(TObject)
   protected
@@ -293,6 +293,39 @@
             F := StrEnd(P + 1);
           P := F;
         end;
+      (* 17/08 - Eswar: Support for the SQL -- comments *)
+      '-':
+        if (FStyle = psSql) and (P[1] = '-') then
+        begin
+          F := StrScan(P + 1, Cr);
+          if F = nil then
+            F := StrEnd(P + 1);
+          P := F;
+        end;
+      (* 17/08 - Eswar: Support for multiline comments for HTML *)
+      '<':
+        if (FStyle = psHtml) and (P[1] = '!') then
+        begin
+          // we need the next 2 chars to be --
+          if (P[2] = #0) or (P[3] = #0) then
+            Exit; // line end
+          if (P[2] <> '-') and (P[3] <> '-') then
+            Exit;
+          F := P + 3;
+          while True do
+          begin
+            F := StrScan(F, '-');
+            if F = nil then //IParserError(ieBadRemark, P - FpcProgram);
+              Exit;
+            if (F[1] = '-') and (F[2] = '>') then
+            begin
+              Inc(F, 2);
+              Break;
+            end;
+            Inc(F);
+          end;
+          P := F + 1;
+        end;
     end;
     SkipComments := False;
   end;
@@ -656,6 +689,39 @@
           if F = nil then
             F := StrEndW(P + 1);
           P := F;
+        end;
+      (* 17/08 - Eswar: Support for the SQL -- comments *)
+      '-':
+        if (FStyle = psSql) and (P[1] = '-') then
+        begin
+          F := StrScanW(P + 1, WideChar(Cr));
+          if F = nil then
+            F := StrEndW(P + 1);
+          P := F;
+        end;
+      (* 17/08 - Eswar: Support for multiline comments for HTML *)
+      '<':
+        if (FStyle = psHtml) and (P[1] = '!') then
+        begin
+          // we need the next 2 chars to be --
+          if (P[2] = #0) or (P[3] = #0) then
+            Exit; // line end
+          if (P[2] <> '-') and (P[3] <> '-') then
+            Exit;
+          F := P + 3;
+          while True do
+          begin
+            F := StrScanW(F, WideChar('-'));
+            if F = nil then //IParserError(ieBadRemark, P - FpcProgram);
+              Exit;
+            if (F[1] = '-') and (F[2] = '>') then
+            begin
+              Inc(F, 2);
+              Break;
+            end;
+            Inc(F);
+          end;
+          P := F + 1;
         end;
     end;
     SkipComments := False;
