José Valim
89cbe93bba
The AST now allows metadata to be attached to each node
...
This means the second item in the AST is no longer an integer
(representing the line), but a keywords list. Code that relies
on the line information from AST or that manually generate AST
nodes need to be properly updated.
2013-01-21 15:42:03 -07:00
José Valim
cb536a4740
Improve docs for the string module
2013-01-17 17:03:48 -07:00
alexrp
531e64c66a
Add back /> as a deprecated operator.
...
This commit can simply be reverted when the operator is to be removed.
2013-01-08 01:12:15 +01:00
alexrp
c9908a23dd
The pipeline operator is now '|>'.
...
Fixes #718 .
2013-01-07 23:38:55 +01:00
José Valim
b9313340b7
Keep \377 and 0377 as the octal syntax, closes #737
2012-12-31 13:46:56 +01:00
Kim Shrier
54d74efa04
Update octal and hex escapes for characters, char lists, and strings to all accept
...
the same syntax and be case insensitive. Also relocated the character type macros
into lib/elixir/include/elixir.hrl so that they didn't need to be defined in both
lib/elixir/src/elixir_interpolation.erl and lib/elixir/src/elixir_tokenizer.erl.
Added to the erlang and elixir unit tests to test the new syntax.
2012-12-23 20:05:23 -07:00
Kim Shrier
d23cc079ad
add octal and hex escapes for characters
2012-12-22 03:16:12 -07:00
mururu
3e2172e646
modify atom with interpolation tokenizer
2012-12-22 14:46:43 +09:00
José Valim
290b0ef894
:... is a valid atom, closes #697
2012-12-06 09:23:24 +01:00
José Valim
5e26cd01b6
Improve error message when invalid token is followed by new line
2012-11-25 17:26:47 +01:00
José Valim
7ddab53707
Also allow multiclause functions on fn
...
The function macro is still necessary for function
retrieval and it will be extended when R16 is out
to supported named functions
2012-11-25 00:06:39 +01:00
José Valim
413fcfdd65
Reorganize keyword handling clauses
2012-11-02 10:05:17 +01:00
José Valim
78c6c7201f
Keywords are allowed after . identifier, closes #621
2012-11-02 10:05:17 +01:00
José Valim
43d3e3eba6
Remove convertion to atom from parser
2012-10-18 15:12:52 +02:00
José Valim
4f3e66cdfd
Refactor elixir_tokenizer scope options
2012-10-18 14:46:54 +02:00
Yurii Rashkovskii
435c4615d1
Make tokenizer be able to limit atoms to existing atoms only
2012-10-18 13:10:35 +02:00
José Valim
2a98788ca3
Solve a::b ambiguity
2012-10-11 12:24:51 +02:00
José Valim
83ca39b6aa
If :B is allowed, B: should be too
2012-10-11 06:46:19 +02:00
José Valim
98efb89125
Make +:foo behaviour consistent with foo:bar (both still raise a warning though)
2012-10-09 21:56:36 +02:00
José Valim
19065ac43e
Simplify protocol handling
2012-09-25 14:06:22 -05:00
José Valim
fe788964bd
Add optional comma in lists, tuples, bit strings and keywords, closes #479
2012-09-23 11:43:38 -05:00
José Valim
0dcf8c23d4
Ensure pipe op can start at new line, closes #450
2012-09-04 11:49:04 +02:00
José Valim
e0d585b1d2
Improvements to the access protocol
...
* Allow @config[:access] to expand to (@config)[:access]
* Allow nil[:access] to work as expected
2012-08-24 13:03:02 -03:00
José Valim
523127cde8
Improve more exceptions for unmatched tokens
2012-07-24 13:29:53 +02:00
José Valim
1077e64126
Deprecate Module.function_defined? in favor of Module.defines?
2012-07-21 23:32:16 +02:00
José Valim
61a27d1be6
Remove the need for special <& &> tags, closes #393
2012-07-21 18:40:57 +02:00
José Valim
661ef4377b
Properly wrap fn/do end in tokenizer
2012-07-21 13:30:18 +02:00
José Valim
49501ef59e
Improve error messages with terminators
2012-07-20 13:04:33 +02:00
José Valim
f6d869cb96
Support terminators in tokenizer
2012-07-20 12:07:45 +02:00
José Valim
90650b334e
Improve error messages for unterminated strings, sigils and heredocs
2012-07-20 11:38:49 +02:00
José Valim
acc4b8e6fe
Introduce regex match operator (=~)
2012-07-08 21:17:10 +02:00
José Valim
7e068aca85
Introduce pipeline op
2012-07-06 11:56:04 +02:00
José Valim
062813c8f3
Add bitwise operators
2012-07-06 11:21:22 +02:00
José Valim
3f82624d0f
Introduce new operators: <<<, >>>, &&&, |||, ^^^, ~~~
2012-07-06 10:58:39 +02:00
José Valim
d5031b6347
Move all code to erlang style apps
2012-07-05 20:20:16 +02:00