slice support in system.nim; syntactic sugar for tables; cleanup of grammar/parser

This commit is contained in:
Araq 2011-04-23 17:11:24 +02:00
commit 4ba4999bb7
8 changed files with 234 additions and 97 deletions

View file

@ -0,0 +1,43 @@
discard """
file: "tslices.nim"
output: '''456456
456456
456456
Zugr5nd
'''
"""
# Test the new slices.
import strutils
var mystr = "Abgrund"
mystr[..1] = "Zu"
mystr[4..4] = "5"
type
TEnum = enum e1, e2, e3, e4, e5, e6
var myarr: array[TEnum, int] = [1, 2, 3, 4, 5, 6]
myarr[e1..e3] = myarr[e4..e6]
myarr[..e3] = myarr[e4..e6]
for x in items(myarr): stdout.write(x)
echo()
var myarr2: array[0..5, int] = [1, 2, 3, 4, 5, 6]
myarr2[0..2] = myarr2[3..5]
for x in items(myarr2): stdout.write(x)
echo()
var myseq = @[1, 2, 3, 4, 5, 6]
myseq[0..2] = myseq[-3.. -1]
for x in items(myseq): stdout.write(x)
echo()
echo mystr