diff options
Diffstat (limited to 'tests/lexers/arrow/example.txt')
| -rw-r--r-- | tests/lexers/arrow/example.txt | 529 |
1 files changed, 529 insertions, 0 deletions
diff --git a/tests/lexers/arrow/example.txt b/tests/lexers/arrow/example.txt new file mode 100644 index 00000000..8abb23d5 --- /dev/null +++ b/tests/lexers/arrow/example.txt @@ -0,0 +1,529 @@ +---input--- +function +/--> bool[] primeSieve(int max) +| bool[] primes[max] +| primes[0] = false +| primes[1] = false +| +| int i +| i = 2 +| /--> +| | primes[i] = true +| | i = i + 1 +| \--< i < max +| +| int firstPrime +| firstPrime = 1 +| /--> +| | bool firstIsComposite +| | /--> +| | | firstPrime = firstPrime + 1 +| | | firstIsComposite = false +| | | /--< firstPrime > max or firstPrime == max +| | | | firstIsComposite = not primes[firstPrime] +| | | \--> +| | \--< firstIsComposite +| | /--< firstPrime > max or firstPrime == max +| | | primes[firstPrime] = true +| | | int composite +| | | composite = firstPrime * 2 +| | | /--< composite > max +| | | | /--> +| | | | | primes[composite] = false +| | | | | composite = composite + firstPrime +| | | | \--< composite < max +| | | \--> +| | \--> +| \--< firstPrime < max - 1 +^ primes + +main +int max +max = 1000 +bool[] primes +primes = primeSieve(max) + +print "Enter a number and I'll tell you whether or not it's prime!" +int testNum +testNum = input int + +/--< testNum < 0 or testNum > max - 1 +| /--< not primes[testNum] +| | print "Prime" +| \--> +| /--< primes[testNum] +| | print "Not prime" +| \--> +\--> + +/--< not (testNum < 0 or testNum > max - 1) +| print "Out of bounds" +\--> + +---tokens--- +'function' Keyword.Reserved +'\n' Text + +'/-->' Punctuation +' ' Text +'bool' Keyword.Type +'[]' Punctuation +' ' Text +'primeSieve' Name.Function +'(' Punctuation +'int' Keyword.Type +' ' Text +'max' Name.Variable +')' Punctuation +'\n' Text + +'| ' Punctuation +'bool' Keyword.Type +'[]' Punctuation +' ' Text +'primes' Name.Variable +'[' Punctuation +'max' Name.Variable +']' Punctuation +'\n' Text + +'| ' Punctuation +'primes' Name.Variable +'[' Punctuation +'0' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +' ' Text +'false' Keyword.Constant +'\n' Text + +'| ' Punctuation +'primes' Name.Variable +'[' Punctuation +'1' Literal.Number.Integer +']' Punctuation +' ' Text +'=' Operator +' ' Text +'false' Keyword.Constant +'\n' Text + +'| \n| ' Punctuation +'int' Keyword.Type +' ' Text +'i' Name.Variable +'\n' Text + +'| ' Punctuation +'i' Name.Variable +' ' Text +'=' Operator +' ' Text +'2' Literal.Number.Integer +'\n' Text + +'| ' Punctuation +'/-->' Punctuation +'\n' Text + +'| | ' Punctuation +'primes' Name.Variable +'[' Punctuation +'i' Name.Variable +']' Punctuation +' ' Text +'=' Operator +' ' Text +'true' Keyword.Constant +'\n' Text + +'| | ' Punctuation +'i' Name.Variable +' ' Text +'=' Operator +' ' Text +'i' Name.Variable +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'| ' Punctuation +'\\--<' Punctuation +' ' Text +'i' Name.Variable +' ' Text +'<' Operator +' ' Text +'max' Name.Variable +'\n' Text + +'|\n| ' Punctuation +'int' Keyword.Type +' ' Text +'firstPrime' Name.Variable +'\n' Text + +'| ' Punctuation +'firstPrime' Name.Variable +' ' Text +'=' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'| ' Punctuation +'/-->' Punctuation +'\n' Text + +'| | ' Punctuation +'bool' Keyword.Type +' ' Text +'firstIsComposite' Name.Variable +'\n' Text + +'| | ' Punctuation +'/-->' Punctuation +'\n' Text + +'| | | ' Punctuation +'firstPrime' Name.Variable +' ' Text +'=' Operator +' ' Text +'firstPrime' Name.Variable +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'| | | ' Punctuation +'firstIsComposite' Name.Variable +' ' Text +'=' Operator +' ' Text +'false' Keyword.Constant +'\n' Text + +'| | | ' Punctuation +'/--<' Punctuation +' ' Text +'firstPrime' Name.Variable +' ' Text +'>' Operator +' ' Text +'max' Name.Variable +' ' Text +'or' Operator.Word +' ' Text +'firstPrime' Name.Variable +' ' Text +'=' Operator +'=' Operator +' ' Text +'max' Name.Variable +'\n' Text + +'| | | | ' Punctuation +'firstIsComposite' Name.Variable +' ' Text +'=' Operator +' ' Text +'not' Operator.Word +' ' Text +'primes' Name.Variable +'[' Punctuation +'firstPrime' Name.Variable +']' Punctuation +'\n' Text + +'| | | ' Punctuation +'\\-->' Punctuation +'\n' Text + +'| | ' Punctuation +'\\--<' Punctuation +' ' Text +'firstIsComposite' Name.Variable +'\n' Text + +'| | ' Punctuation +'/--<' Punctuation +' ' Text +'firstPrime' Name.Variable +' ' Text +'>' Operator +' ' Text +'max' Name.Variable +' ' Text +'or' Operator.Word +' ' Text +'firstPrime' Name.Variable +' ' Text +'=' Operator +'=' Operator +' ' Text +'max' Name.Variable +'\n' Text + +'| | | ' Punctuation +'primes' Name.Variable +'[' Punctuation +'firstPrime' Name.Variable +']' Punctuation +' ' Text +'=' Operator +' ' Text +'true' Keyword.Constant +'\n' Text + +'| | | ' Punctuation +'int' Keyword.Type +' ' Text +'composite' Name.Variable +'\n' Text + +'| | | ' Punctuation +'composite' Name.Variable +' ' Text +'=' Operator +' ' Text +'firstPrime' Name.Variable +' ' Text +'*' Operator +' ' Text +'2' Literal.Number.Integer +'\n' Text + +'| | | ' Punctuation +'/--<' Punctuation +' ' Text +'composite' Name.Variable +' ' Text +'>' Operator +' ' Text +'max' Name.Variable +'\n' Text + +'| | | | ' Punctuation +'/-->' Punctuation +'\n' Text + +'| | | | | ' Punctuation +'primes' Name.Variable +'[' Punctuation +'composite' Name.Variable +']' Punctuation +' ' Text +'=' Operator +' ' Text +'false' Keyword.Constant +'\n' Text + +'| | | | | ' Punctuation +'composite' Name.Variable +' ' Text +'=' Operator +' ' Text +'composite' Name.Variable +' ' Text +'+' Operator +' ' Text +'firstPrime' Name.Variable +'\n' Text + +'| | | | ' Punctuation +'\\--<' Punctuation +' ' Text +'composite' Name.Variable +' ' Text +'<' Operator +' ' Text +'max' Name.Variable +'\n' Text + +'| | | ' Punctuation +'\\-->' Punctuation +'\n' Text + +'| | ' Punctuation +'\\-->' Punctuation +'\n' Text + +'| ' Punctuation +'\\--<' Punctuation +' ' Text +'firstPrime' Name.Variable +' ' Text +'<' Operator +' ' Text +'max' Name.Variable +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'^' Punctuation +' ' Text +'primes' Name.Variable +'\n\n' Text + +'main' Keyword.Reserved +'\n' Text + +'int' Keyword.Type +' ' Text +'max' Name.Variable +'\n' Text + +'max' Name.Variable +' ' Text +'=' Operator +' ' Text +'1000' Literal.Number.Integer +'\n' Text + +'bool' Keyword.Type +'[]' Punctuation +' ' Text +'primes' Name.Variable +'\n' Text + +'primes' Name.Variable +' ' Text +'=' Operator +' ' Text +'primeSieve' Name.Function +'(' Punctuation +'max' Name.Variable +')' Punctuation +'\n\n' Text + +'print' Keyword.Reserved +' ' Text +'"' Literal.String.Double +"Enter a number and I'll tell you whether or not it's prime!" Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'int' Name.Variable +' ' Text +'testNum' Name.Variable +'\n' Text + +'testNum' Name.Variable +' ' Text +'=' Operator +' ' Text +'input' Keyword.Reserved +' ' Text +'int' Keyword.Type +'\n\n' Text + +'/--<' Punctuation +' ' Text +'testNum' Name.Variable +' ' Text +'<' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'or' Operator.Word +' ' Text +'testNum' Name.Variable +' ' Text +'>' Operator +' ' Text +'max' Name.Variable +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +'\n' Text + +'| ' Punctuation +'/--<' Punctuation +' ' Text +'not' Operator.Word +' ' Text +'primes' Name.Variable +'[' Punctuation +'testNum' Name.Variable +']' Punctuation +'\n' Text + +'| | ' Punctuation +'print' Keyword.Reserved +' ' Text +'"' Literal.String.Double +'Prime' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'| ' Punctuation +'\\-->' Punctuation +'\n' Text + +'| ' Punctuation +'/--<' Punctuation +' ' Text +'primes' Name.Variable +'[' Punctuation +'testNum' Name.Variable +']' Punctuation +'\n' Text + +'| | ' Punctuation +'print' Keyword.Reserved +' ' Text +'"' Literal.String.Double +'Not prime' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'| ' Punctuation +'\\-->' Punctuation +'\n' Text + +'\\-->' Punctuation +'\n\n' Text + +'/--<' Punctuation +' ' Text +'not' Operator.Word +' ' Text +'(' Punctuation +'testNum' Name.Variable +' ' Text +'<' Operator +' ' Text +'0' Literal.Number.Integer +' ' Text +'or' Operator.Word +' ' Text +'testNum' Name.Variable +' ' Text +'>' Operator +' ' Text +'max' Name.Variable +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation +'\n' Text + +'| ' Punctuation +'print' Keyword.Reserved +' ' Text +'"' Literal.String.Double +'Out of bounds' Literal.String.Double +'"' Literal.String.Double +'\n' Text + +'\\-->' Punctuation +'\n' Text |
