1. 16 Apr, 2013 1 commit
  2. 05 Apr, 2013 1 commit
    • mstarzinger@chromium.org's avatar
      Refactor parser mode configuration for correctness · d7167867
      mstarzinger@chromium.org authored
      This patch refactors the parser and preparser interface to be more
      readable and type-safe.  It has no behavior changes.
      
      Previously, parsers and preparsers were configured via bitfield called
      parser_flags in the Parser constructor, and flags in
      PreParser::PreParseProgram, ParserApi::Parse, and ParserApi::PreParse.
      This was error-prone in practice: six call sites passed incorrectly
      typed values to this interface (a boolean FLAG value, a boolean false
      and a boolean true value).  None of these errors were caught by the
      compiler because it's just an "int".
      
      The parser flags interface was also awkward because it encoded a
      language mode, but the language mode was only used to turn on harmony
      scoping or not -- it wasn't used to actually set the parser's language
      mode.
      
      Fundamentally these errors came in because of the desire for a
      procedural parser interface, in ParserApi.  Because we need to be able
      to configure the parser in various ways, the flags argument got added;
      but no one understood how to use the flags properly.  Also they were
      only used by constructors: callers packed bits, and the constructors
      unpacked them into booleans on the parser or preparser.
      
      The solution is to allow parser construction, configuration, and
      invocation to be separated.  This patch does that.
      
      It passes the existing tests.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/13450007
      Patch from Andy Wingo <wingo@igalia.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      d7167867
  3. 02 Apr, 2013 1 commit
    • mstarzinger@chromium.org's avatar
      Add parser support for generators. · 2816f196
      mstarzinger@chromium.org authored
      This patchset begins by adding support for "yield", which is unlike other tokens
      in JS. In a generator, whether strict or classic, it is a syntactic keyword.
      In classic mode it is an identifier. In strict mode it is reserved.
      
      This patch adds YIELD as a token to the scanner, and adapts the preparser and
      parser appropriately. It also parses "function*", indicating that a function is
      actually a generator, for both eagerly and lazily parsed functions.
      
      Currently "yield" just compiles as "return".
      
      BUG=v8:2355
      TEST=mjsunit/harmony/generators-parsing
      
      Review URL: https://codereview.chromium.org/12646003
      Patch from Andy Wingo <wingo@igalia.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      2816f196
  4. 09 Jan, 2013 1 commit
  5. 03 Jan, 2013 1 commit
  6. 20 Dec, 2012 1 commit
  7. 16 Apr, 2012 1 commit
  8. 12 Mar, 2012 1 commit
  9. 08 Feb, 2012 1 commit
  10. 25 Nov, 2011 1 commit
  11. 01 Nov, 2011 1 commit
  12. 31 Oct, 2011 1 commit
  13. 17 Oct, 2011 1 commit
  14. 12 Oct, 2011 1 commit
  15. 08 Sep, 2011 2 commits
  16. 05 Sep, 2011 1 commit
  17. 22 Jun, 2011 1 commit
  18. 24 May, 2011 1 commit
    • ricow@chromium.org's avatar
      Create stand-alone json parser (including scanner). · 3c7e1d70
      ricow@chromium.org authored
      The current json parser and scanner inherits fromt he normal scanners and parsers,
      which are more complicated than we need for parsing json.
      
      The supplied scanner works directly on the string supplied and has a
      fast case mode for scanning only ascii characters (it will simply
      create a substring or a symbol directly from the existing string). To
      allow for creating symbols from a substring I have added a
      SubStringAsciiSymbolKey that creates the hash based from our string
      without extracting the sub-string. In case we need to add the symbol
      it simply creates the symbol directly from the characters inside the
      given string.
      Review URL: http://codereview.chromium.org/7039037
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      3c7e1d70
  19. 12 Apr, 2011 1 commit
  20. 29 Mar, 2011 1 commit
  21. 18 Mar, 2011 3 commits
  22. 07 Feb, 2011 1 commit
  23. 14 Jan, 2011 1 commit
  24. 22 Dec, 2010 1 commit
  25. 07 Dec, 2010 1 commit
  26. 29 Nov, 2010 1 commit
  27. 19 Nov, 2010 1 commit
  28. 18 Nov, 2010 1 commit
  29. 17 Nov, 2010 1 commit
  30. 16 Nov, 2010 1 commit
  31. 05 Nov, 2010 1 commit
  32. 02 Nov, 2010 1 commit
  33. 27 Oct, 2010 1 commit
  34. 24 Sep, 2010 1 commit
  35. 20 Sep, 2010 1 commit
  36. 27 Aug, 2010 1 commit
  37. 24 Aug, 2010 1 commit