summary refs log tree commit diff stats
path: root/tests/parser/tstrongspaces.nim
blob: 91506daf073bb5314217a108518d4b58ca4cba5c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#! strongSpaces

discard """
  output: '''35
77
(Field0: 1, Field1: 2, Field2: 2)
ha
true
tester args
all
all args
'''
"""

echo 2+5 * 5

let foo = 77
echo $foo

echo (1, 2, 2)

template `&`(a, b: int): expr = a and b
template `|`(a, b: int): expr = a - b
template `++`(a, b: int): expr = a + b == 8009

when true:
  let b = 66
  let c = 90
  let bar = 8000
  if foo+4 * 4 == 8 and b&c | 9  ++
      bar:
    echo "ho"
  else:
    echo "ha"

  let booA = foo+4 * 4  -  b&c | 9  +
      bar
  # is parsed as
  let booB = ((foo+4)*4) - ((b&c) | 9) + bar

  echo booA == booB


template `|`(a, b): expr = (if a.len > 0: a else: b)

const
  tester = "tester"
  args = "args"

echo tester & " " & args|"all"
echo "all"  |  tester & " " & args
echo "all"|tester & " " & args