Commit Graph

134 Commits

Author SHA1 Message Date
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
Zahary Karadjov
afddae5aaf Merge branch 'upstream' into devel
Conflicts:
	compiler/ccgutils.nim
	compiler/msgs.nim
	compiler/sem.nim
	compiler/semexprs.nim
	compiler/seminst.nim
	compiler/semmagic.nim
	compiler/semstmts.nim
	compiler/semtypes.nim
	compiler/semtypinst.nim
	compiler/sigmatch.nim
	compiler/types.nim
	compiler/vmgen.nim
	lib/core/macros.nim
	lib/system.nim
	tests/reject/tenummix.nim
	web/news.txt
2013-12-29 17:21:00 +02:00
Araq
b731e6ef1c case consistency: cs:partial bootstraps on windows 2013-12-29 03:19:10 +01:00
Araq
438703f59e case consistency: next steps 2013-12-29 01:13:51 +01:00
Araq
92b8fac94a case consistency part 4 2013-12-27 23:10:36 +01:00
Araq
2df9b442c6 case consistency part 1 2013-12-27 15:48:53 +01:00
Zahary Karadjov
027f30610e static params: expr[T] is now static[T]
This introduces tyStatic and successfully bootstraps and handles
few simple test cases.  Static params within macros are no longer
treated as PNimrodNodes - they are now equivalent to constants
of the designated type.
2013-12-19 01:06:38 +02:00
Zahary Karadjov
31dd66acbf support for multiple test variables and var qualifiers in user-defined type classes 2013-11-13 02:24:08 +02:00
Araq
422327c010 fixed another semicolon related parsing bug 2013-10-02 07:57:30 +02:00
Araq
a943905d6c fixes #609 2013-10-01 20:24:37 +02:00
Araq
8b5aa221ad support for multiple modules of the same name; niminst supports 'platforms'; minor bugfixes 2013-09-24 16:07:07 +02:00
Araq
83584bf889 implemented 'import a as b' 2013-09-24 09:36:31 +02:00
Zahary Karadjov
6082595e96 Merge branch 'type-classes' into upstream 2013-09-03 03:14:56 +03:00
Araq
f2b9af6ae1 bugfix: line information for comments 2013-09-01 18:50:03 +02:00
Zahary Karadjov
b5d833b329 implemented the using statement 2013-08-31 19:40:36 +03:00
Zahary Karadjov
03577bc936 fix parsing of `proc foo(x: distinct Type)` 2013-08-24 23:44:37 +03:00
Zahary Karadjov
037a1a3e0f parsing of user defined type classes 2013-08-23 21:36:56 +03:00
Zahary Karadjov
ea54aa386c Revert "Revert "allow keyword params for the [] and {} operators""
This reverts commit b7ea4a7e65.
2013-08-19 01:29:22 +03:00
Araq
fd2a808266 fixes token's column information 2013-07-30 08:45:00 +02:00
Araq
b3ac785f95 fixes semicolon parsing issue 2013-06-03 08:05:32 +02:00
Araq
b7ea4a7e65 Revert "allow keyword params for the [] and {} operators"
This reverts commit bfff1ac8b2.
2013-05-27 23:19:11 +02:00
Zahary Karadjov
bfff1ac8b2 allow keyword params for the [] and {} operators
conceptually, these operators are not very different from regular procs in the way
they are defined and overloaded. keyword params for them are admittedly less useful,
but they improve consistency and may help with generic instantiations once default
generic parameters are supported.
2013-05-26 11:14:23 +03:00
Araq
9b9a180947 'inject' for 'for' loop variables 2013-05-14 00:41:07 +02:00