Testing - Grammar 0.7
Describe Tags (v0.7)
Those tests are mostly the same as the tests for Describe version 0.6, but with tags. Grammar version 0.7 parsers have to pass all the tests for Grammar version 0.6 before passing the following:
Group A - basic functionality
A_basic1.ds - Some very simple list, with tags
A_basicP.ds - Some very simple list, with tags
A_basic2.ds - Some very simple list with 1 entry, with tags
A_basic3.ds - Some very simple list with 1 entry on the same line (in-lined production), with tags
A_basic4.ds - Some very simple list ending with a new line character, with tags
A_twoRoots.ds - Two very simple lists, with tags
Group B - testing how comments work
B_comments1.ds - Some very simple list with a line comment (“//”), with tags
B_comments2.ds - Some very simple list with a line comment (“//”) and a commented out entry - delimited comment (/* … /), with tags
B_comments3.ds - Some very simple list with a line comment (“//”) and a commented out logic - multiple delimited comments (/ … */), with tags
B_comments4.ds - Some very simple list with 2 line comments (“//”), ending with a comment on a new line, with tags.
B_comments5.ds - Some very simple list with 2 line comments (“//”), ending with a comment on the same line, with tags.
Group C - the idea here is to test empty productions (without entries)
C_empty1.ds - Simple empty production, with tags.
C_empty2.ds - Simple empty production, no spaces, with tags.
C_empty3.ds - Simple empty production, with spaces, with tags.
C_empty4.ds - Simple empty production, with spaces and new lines, with tags.
Group D - double characters - testing if characters that are a start of a multi-character terminal are correctly handled. Escaped double characters - testing escape sequences
D_double_characters1.ds - Some very simple list containing a hyphen “-“, as it is a start character of a producer “->”, with tags
D_double_characters2.ds - Some very simple list containing a forward slash “/”, as it is a start character of a comment “//” or “\/*”, with tags
D_double_characters3.ds - Some very simple list containing a back slash “", as it is a start character of escape sequences “\,”, with tags
D_escaped_double_characters1.ds - Testing escape sequence - escaped dash, with tags.
D_escaped_double_characters2.ds - Testing escape sequence - escaped forward slash, with tags.
D_escaped_double_characters3.ds - Testing escape sequence - escaped backward slash (escape escape), with tags.
D_cyrillic.ds - Some very simple list in Cyrillic, with Cyrillic tags.
Group E - spaces, escapes and new lines
E_spaces_escapes_N.ds - Testing a combination of spaces, new lines and escape sequences, with tags. Linux style new lines (“\n”).
E_spaces_escapes_RN.ds - Testing a combination of spaces, new lines and escape sequences, with tags. Windows style new lines (“\r\n”).
Group F - productions
F_production_in_production1.ds - Production containing a child production as first child, with tags.
F_production_in_production2.ds - Production containing a child production as last child, with tags.
F_production_in_production3.ds - Production containing a child production as middle child, with tags.
F_production_in_production4.ds - Production containing 2 child productions as first and second child, with tags.
F_production_in_production5.ds - Production containing 2 child productions as last and next to last child, with tags.
F_production_in_production6.ds - Production containing a child production containing a child production, with tags.
F_production_in_production7.ds - Production containing a child production containing a child production as last, with tags.
Group G - long files for benchmarks
G_long50 - A larger list with 50 elements, with tags.
G_long100 - A larger list with 100 elements, with tags.
G_long100a - A larger list with 100 elements, with tags.