Commit Graph
35 Commits
Author SHA1 Message Date
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