add new grammar_check_fast entry for faster parsing
authorMichal Krol <mjkrol@gmail.org>
Wed, 20 Oct 2004 15:19:58 +0000 (15:19 +0000)
committerMichal Krol <mjkrol@gmail.org>
Wed, 20 Oct 2004 15:19:58 +0000 (15:19 +0000)
src/mesa/shader/grammar.h

index 41a484e..622cdb2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.1
+ * Version:  6.2
  *
  * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
  *
@@ -61,6 +61,8 @@ grammar grammar_load_from_text (const byte *text);
 int grammar_set_reg8 (grammar id, const byte *name, byte value);
 
 /*
+    this function is obsolete, use only for debugging purposes
+
     checks if a null-terminated <text> matches given grammar <id>
     returns 0 on error (call grammar_get_last_error to retrieve the error text)
     returns 1 on success, the <prod> points to newly allocated buffer with production and <size>
@@ -70,6 +72,15 @@ int grammar_set_reg8 (grammar id, const byte *name, byte value);
 int grammar_check (grammar id, const byte *text, byte **prod, unsigned int *size);
 
 /*
+    does the same what grammar_check does but much more (approx. 4 times) faster
+    use this function instead of grammar_check
+    <estimate_prod_size> is a hint - the initial production buffer size will be of this size,
+    but if more room is needed it will be safely resized; set it to 0x1000 or so
+*/
+int grammar_fast_check (grammar id, const byte *text, byte **prod, unsigned int *size,
+    unsigned int estimate_prod_size);
+
+/*
     destroys grammar object identified by <id>
     returns 0 on error (call grammar_get_last_error to retrieve the error text)
     returns 1 on success