Commit Graph

156 Commits

Author SHA1 Message Date
Araq
10c1d7f519 minor lexer cleanups; fixes #2504 2015-04-10 14:03:48 +02:00
ReneSac
80050a09a0 Refactored getPrecedence() after last change
The considerStrongSpaces() is now applied to almost all results, so it is better to do it at the end.
2015-04-08 02:06:18 -03:00
ReneSac
6a528bc7e9 Consider #!strongSpaces for keyword operators too.
When #!strongSpaces is on, every  operator affected by it gains priority higher than any operator not affected by it. This includes comparison operators, addition, etc.
It seems that counting spaces for keywords operators don't break anything in the parser. Of course, they can't have 0 spaces between their operands, but at least their precedence will work accordingly to their 1+ spaces.
2015-04-08 01:00:14 -03:00
Araq
e80840c40a preparations for dealing with the 'echo $foo' gotcha 2015-03-27 02:14:27 +01:00
Araq
e680e43fc2 fixes #2405 2015-03-25 14:50:08 +01:00
Araq
f6ff01572e breaking change: 'concept' is now a keyword and used instead of 'generic' 2015-03-23 13:10:18 +01:00
Araq
ca6906d85b fixes long standing parsing issue with command syntax 2015-03-22 01:38:14 +01:00
Araq
08c0ba379a fixes #1805 2015-03-21 20:38:28 +01:00
Max Zerzouri
9c126282b2 interpret tuple as a class and tuple[] as the empty tuple
When the indentation syntax is allowed it is always interpreted as a
tuple:

type
  Unit = tuple
2015-03-06 12:20:15 +13:00
Araq
ece23d39bc fixes #2123 2015-02-14 18:11:52 +01:00
Araq
c91ca82a43 fixes #2073; language spec change: arrow like operators are not right associative anymore 2015-02-08 13:38:06 +01:00
Araq
fe30ec83e2 nimsuggest improvements 2015-01-30 03:04:45 +01:00
Araq
26b853923c nimsuggest: first version 2015-01-27 01:36:19 +01:00
Araq
c87f1eb581 'discard' can be used instead of 'nil' for empty case object branches 2015-01-12 02:00:36 +01:00
Guillaume Gelin
3119fe087d Happy new year! 2015-01-06 15:26:33 +01:00
Araq
9280473eb1 fixes #1120 2014-12-25 17:22:41 +01:00
Araq
2be3f501a1 fixes #1742 2014-12-24 13:02:58 +01:00
Araq
59e279ba9c fixes a small bug concerning semicolons for top level statements 2014-12-23 23:08:37 +01:00
Araq
cd03f59432 implemented arrow like operators 2014-12-08 08:56:44 +01:00
Araq
e27ab36731 implements 'defer' 2014-12-04 10:12:32 +01:00
Araq
b2f577df23 fixes #1473 2014-11-12 02:36:59 +01:00
Araq
2781fea9e2 Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
Araq
2f43fdb837 renamefest 2014-08-23 01:43:49 +02:00
Araq
212293197f fixes #1161 2014-07-01 21:47:53 +02:00
flaviut
ce29b9f78c fix tokenizing bug 2014-06-08 19:41:36 -04:00
flaviut
145cb3ae8c fix overlooked grammer comment 2014-06-08 15:46:19 -04:00
flaviut
6b9359d901 updated grammer, fixed oversight 2014-06-04 15:40:31 -04:00
flaviut
90dc35c109 fix bug with unexpected tkInvalid,tkEof,tkComment 2014-06-04 15:30:37 -04:00
flaviut
7a9bcf4769 Clean up code 2014-06-03 19:05:12 -04:00
flaviut
20cb567bf5 Fix accents in enums 2014-06-03 14:15:32 -04:00
flaviut
3db3c0e382 Generalize accent parsing 2014-06-03 10:12:31 -04:00
Clay Sweetser
3afbe24b7c Document parser structures and procedures. 2014-05-25 01:50:23 -04:00
Araq
b961e47bfe new concurrency model: first steps; shared is not a keyword anymore 2014-04-14 08:45:43 +02:00
Araq
d96f25619a implemented 'R ptr T' syntax 2014-04-13 22:31:49 +02:00
Araq
9fdb131686 fixes #992 2014-03-26 16:22:34 +01:00
Zahary Karadjov
8a0509b3b2 implements `distinct with/without X, Y`
This still doesn't work quite right, because some common operations like array
indexing lay completely outside the scope/symbol lookup system - they are not
even magics.
2014-03-20 01:16:50 +02:00
Zahary Karadjov
7080d02af4 allow multi-line expressions using the dot operator
this enables parsing of expressions like:

``` Nimrod
s.items
  .map(proc (x): auto = x * 2)
  .filter do (x) -> auto:
    return x % 2 == 0
  .group_by((x) => x.length)
```
2014-03-16 20:42:06 +02:00
Zahary Karadjov
63d93ad1ab grammar fix: allow free-standing expressions such as type(foo) is bar 2014-03-16 20:42:06 +02:00
Araq
91d842e1ec implements strongSpaces parsing mode 2014-03-07 22:25:05 +01:00
Zahary Karadjov
492fa86638 the delegator pragma becomes a set of dot operators 2014-02-15 17:41:35 +02:00
Araq
3be07d842a fixes regression: constant fac4 didn't work 2014-02-06 02:41:53 +01:00
Araq
c30f6cfcf1 cleaned up command expressions 2014-02-02 14:34:37 +01:00
Araq
70eff919cd only 1 argument allowed for command expressions 2014-02-02 00:00:56 +01:00
Araq
9af1ab5f43 fixes a minor parser bug 2014-01-25 14:22:05 +01:00
Araq
3e5cb6644f typeClasses now documented in grammar.txt 2014-01-23 17:19:12 +01:00
Araq
37229df7fc next steps for closure iterators 2014-01-22 17:32:38 +01:00
Araq
4a0aadef4d parser support anon iterators 2014-01-20 20:07:44 +01:00
Araq
d18f40b4e2 updated grammar.txt 2014-01-20 08:35:09 +01:00
Araq
79f59d18f1 command syntax is allowed in expressions 2014-01-20 08:29:02 +01:00
Araq
73c6efdf66 'nil' as a statement is deprecated, use an empty 'discard' instead 2014-01-19 16:54:59 +01:00