1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00
Commit graph

8 commits

Author SHA1 Message Date
Brian Templeton
0dbfdeefc6 use correct names for quasiquotation operators
Use #{`}#, #{,}# and #{,@}# as the quasiquote, unquote and
unquote-splicing operators, respectively. Previously they were named
escaping.

* module/language/elisp/compile-tree-il.scm (unquote?): Change "\," to
  "#{,}#".
  (unquote-splicing): Change "\,@" to "#{,@}#".
  (#{compile-`}#): Rename from #{compile-\`}#.
* module/language/elisp/runtime/function-slot.scm: Import #{compile-`}#
  instead of #{compile-\`}#, and re-export as #{`}# instead of as
  #{\`}#.
* module/language/elisp/parser.scm (quotation-symbols):
* test-suite/tests/elisp-compiler.test ("Eval", "Quotation"):
* test-suite/tests/elisp-reader.test ("Parser"): Change "\`", "\,", and
  "\,@" to "#{`}#", "#{,}#" and "#{,@}#", respectively.
2010-12-07 13:21:02 +01:00
Brian Templeton
e9de35293f update elisp reader tests to handle EOF tokens
* test-suite/tests/elisp-reader.test (lex-all, "end-of-input",
  "lexer/1"): Check for an EOF token instead of the symbol `*eoi*'.
2010-12-07 13:21:02 +01:00
Daniel Kraft
9a9f123144 Support circular structures in elisp reader.
* module/language/elisp/lexer.scm: Recognize circular markers.
* module/language/elisp/parser.scm: Handle them correctly.
* test-suite/tests/elisp-reader.test: Check circular structure parsing.
2009-08-27 18:49:29 +02:00
Daniel Kraft
9e90010f07 Replaced generated elisp parser with hand-written one to fix source properties.
* module/language/elisp/parser.scm: Hand-written parser.
* test-suite/tests/elisp-reader.test: Test for source properties.
2009-08-27 17:15:57 +02:00
Daniel Kraft
e840cc6540 Parser for elisp and use it as reader.
* module/language/elisp/parser.scm: New parser file.
* module/language/elisp/lexer.scm: Fix lexer/1 and add unquote-splicing support.
* module/language/elisp/spec.scm: Use new elisp-reader.
* module/language/elisp/README: Document we've got a reader now.
* test-suite/tests/elisp-reader.test: Test the parser.
2009-08-26 21:36:37 +02:00
Daniel Kraft
ddb4364b1a get-lexer/1 for elisp that finishes after the first full expression is read.
* module/language/elisp/lexer.scm: Add get-lexer/1.
* test-suite/tests/elisp-reader.test: Test lexer/1.
2009-08-26 21:03:06 +02:00
Daniel Kraft
5b1ee3bef1 Character and string literal support for the elisp lexer.
* module/language/elisp/lexer.scm: Handle character and string literals.
* test-suite/tests/elisp-reader.test: Test it.
2009-08-26 19:48:06 +02:00
Daniel Kraft
25512a940b A first, rough lexer for elisp still missing some stuff.
* module/language/elisp/lexer.scm: New lexer file.
* test-suite/Makefile.am: Register elisp-reader.test as new test.
* test-suite/tests/elisp-reader.test: New test-case.
2009-08-26 14:32:48 +02:00