Home | History | Annotate | Download | only in JavaScriptCore

Lines Matching full:lexer

1260         (JSC::LiteralParser::Lexer::lex):
1261 (JSC::LiteralParser::Lexer::lexString):
1262 (JSC::LiteralParser::Lexer::lexNumber):
2696 on side effects in the Lexer. Move the creation of numeric identifiers
2699 * parser/Lexer.cpp:
2700 (JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
2701 (JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
2703 (JSC::Lexer::scanRegExp): Added out arguments that are const Identifier*
2706 (JSC::Lexer::skipRegExp): Added. Skips a regular expression without
2708 (JSC::Lexer::clear): Removed the code to manage m_identifiers, m_pattern,
2710 * parser/Lexer.h: Updated for changes above.
2778 (JSC::Parser::parse): Pass the arena to the lexer.
2803 vector of identifiers that used to be in the Lexer.
3959 This is a simplified parser and lexer that we can throw at strings passed to eval
3960 in case a site is using eval to parse JSON (eg. json2.js). The lexer is intentionally
3973 (JSC::LiteralParser::Lexer::lex):
3974 (JSC::LiteralParser::Lexer::lexString):
3975 (JSC::LiteralParser::Lexer::lexNumber):
3987 (JSC::LiteralParser::Lexer::Lexer):
3988 (JSC::LiteralParser::Lexer::next):
3989 (JSC::LiteralParser::Lexer::currentToken):
4792 * parser/Lexer.cpp:
4793 (JSC::Lexer::lex): Fix missing braces. This would make us always
4801 Bug 25589: goto instead of state machine in lexer
4806 * parser/Lexer.cpp:
4807 (JSC::Lexer::currentCharacter): Added.
4808 (JSC::Lexer::currentOffset): Changed to call currentCharacter for clarity.
4809 (JSC::Lexer::setCode): Removed code to set now-obsolete m_skipLineEnd.
4810 (JSC::Lexer::shiftLineTerminator): Added. Handles line numbers and the
4812 (JSC::Lexer::makeIdentifier): Changed to take characters and length rather
4815 (JSC::Lexer::lastTokenWasRestrKeyword): Added.
4821 (JSC::Lexer::record8): Moved here.
4822 (JSC::Lexer::record16): Moved here.
4823 (JSC::Lexer::lex): Rewrote this whole function to use goto and not use
4826 (JSC::Lexer::scanRegExp): Changed to use the new version of isLineTerminator.
4829 * parser/Lexer.h: Removed State enum, setDone function, nextLine function,
5139 an include of Lexer.h and all its dependencies that had to work outside
5146 Removed byteocde directory -- we no longer are trying to include Lexer.h
5150 and Lexer.h back to internal files. Added NodeConstructors.h.
5281 * JavaScriptCore.xcodeproj/project.pbxproj: Made Lexer.h private.
5612 Bug 25519: streamline lexer by handling BOMs differently
5619 * parser/Lexer.cpp:
5620 (JSC::Lexer::Lexer): Remove unnnecessary initialization of data members
5622 (JSC::Lexer::currentOffset): Added. Used where the old code would look at
5624 (JSC::Lexer::shift1): Replaces the old shift function. No longer does anything
5626 (JSC::Lexer::shift2): Ditto.
5627 (JSC::Lexer::shift3): Ditto.
5628 (JSC::Lexer::shift4): Ditto.
5629 (JSC::Lexer::setCode): Updated for name change from yylineno to m_line.
5634 (JSC::Lexer::copyCodeWithoutBOMs): Added.
5635 (JSC::Lexer::nextLine): Updated for name change from yylineno to m_line.
5636 (JSC::Lexer::makeIdentifier): Moved up higher in the file.
5637 (JSC::Lexer::matchPunctuator): Moved up higher in the file and changed to
5639 (JSC::Lexer::isLineTerminator): Moved up higher in the file and changed to
5641 (JSC::Lexer::lastTokenWasRestrKeyword): Added. This replaces the old
5643 (JSC::Lexer::isIdentStart): Moved up higher in the file. Changed to use
5645 (JSC::Lexer::isIdentPart): Ditto.
5646 (JSC::Lexer::singleEscape): Moved up higher in the file.
5647 (JSC::Lexer::convertOctal): Moved up higher in the file.
5648 (JSC::Lexer::convertHex): Moved up higher in the file. Changed to use
5650 (JSC::Lexer::convertUnicode): Ditto.
5651 (JSC::Lexer::record8): Moved up higher in the file.
5652 (JSC::Lexer::record16): Moved up higher in the file.
5653 (JSC::Lexer::lex): Changed type of stringType to int. Replaced m_skipLF
5655 main lexer loop. Use currentOffset instead of m_currentOffset. Removed
5665 (JSC::Lexer::scanRegExp): Tweaked style a bit.
5666 (JSC::Lexer::clear): Clear m_codeWithoutBOMs so we don't use memory after
5668 (JSC::Lexer::sourceCode): Made this no-longer inline since it has more
5671 * parser/Lexer.h: Renamed yylineno to m_lineNumber. Removed convertHex
5686 be used to tell the lexer about strings known not to have BOMs.
5795 - speed up the lexer in various ways
5799 * parser/Lexer.cpp:
5800 (JSC::Lexer::setCode): Moved below shift() so it can inline.
5801 (JSC::Lexer::scanRegExp): Use resize(0) instead of clear() on Vectors, since the intent
5803 (JSC::Lexer::lex): ditto; also, change the loop logic a bit for the main lexing loop
5805 (JSC::Lexer::shift): Make this ALWAYS_INLINE and tag an unusual branch as UNLIKELY
5806 * parser/Lexer.h:
5807 (JSC::Lexer::makeIdentifier): force to be ALWAYS_INLINE
5810 getting inlined in a hot code path in the lexer)
10918 * parser/Lexer.cpp:
10919 (JSC::Lexer::isWhiteSpace):
10920 * parser/Lexer.h:
10921 (JSC::Lexer::isWhiteSpace):
10922 (JSC::Lexer::isLineTerminator): Added some helper functions for examining
11939 * parser/Lexer.cpp:
11940 (JSC::Lexer::Lexer): Ditto.
11941 (JSC::Lexer::clear): Ditto.
12242 Force inlining of Lexer::matchPunctuator
12246 * parser/Lexer.h:
12371 * parser/Lexer.h:
12372 (JSC::Lexer::sourceCode): include rather than exclude braces.
13316 * parser/Lexer.cpp:
13317 (JSC::Lexer::matchPunctuator):
15444 * parser/Lexer.h:
15471 * parser/Lexer.cpp: Ditto. Also changed KJS_DEBUG_LEX to
15474 (JSC::Lexer::lex):
15766 The problem is that even during reparsing, the Lexer adds a semicolon at the
15770 * parser/Lexer.cpp:
15771 (JSC::Lexer::Lexer): Initialize m_isReparsing to false.
15772 (JSC::Lexer::lex): Do not perform automatic semicolon insertion in the Lexer if
15774 (JSC::Lexer::clear): Set m_isReparsing to false.
15775 * parser/Lexer.h:
15776 (JSC::Lexer::setIsReparsing): Added.
15778 (JSC::Parser::reparse): Call Lexer::setIsReparsing() to notify the Lexer of
19376 data, a capability that is required by Lexer. This patch changes the
19388 * parser/Lexer.cpp:
19389 (JSC::Lexer::clear): Use clear() instead of resize(0).
20144 * parser/Lexer.cpp:
20165 * parser/Lexer.cpp:
20166 (JSC::Lexer::setCode): Fix bug where on reparse, the Lexer was confused about
20170 * parser/Lexer.h:
20171 (JSC::Lexer::sourceCode): Positions are relative to the beginning of the buffer.
20211 (JSC::SourceCode::endOffset): Added for use in the lexer.
20229 Speedup the lexer to offset coming re-parsing patch.
20237 * parser/Lexer.cpp:
20238 (JSC::Lexer::Lexer):
20239 (JSC::Lexer::isIdentStart): Use isASCIIAlpha and isASCII to avoid going into ICU in the common cases.
20240 (JSC::Lexer::isIdentPart): Use isASCIIAlphanumeric and isASCII to avoid going into ICU in the common cases
20242 (JSC::Lexer::isHexDigit): Ditto.
20243 (JSC::Lexer::isOctalDigit): Ditto.
20244 (JSC::Lexer::clear): Resize the m_identifiers SegmentedVector to initial
20246 * parser/Lexer.h: Remove unused m_strings vector. Make m_identifiers
20251 (JSC::Lexer::makeIdentifier): Inline and return a reference to the added
23791 * parser/Lexer.cpp:
23792 (JSC::Lexer::lex):
24712 Grammar.y but Lexer.cpp includes grammar.h. The build bots didn't
24715 * parser/Lexer.cpp:
24788 * kjs/lexer.cpp: Removed.
24789 * kjs/lexer.h: Removed.
24796 * parser/Lexer.cpp: Copied from kjs/lexer.cpp.
24797 * parser/Lexer.h: Copied from kjs/lexer.h.
25159 * kjs/lexer.cpp:
25160 * kjs/lexer.h:
25498 * kjs/lexer.h:
28918 * kjs/lexer.h:
28919 (JSC::Lexer::sourceCode): BUG FIX: Calculate SourceCode ranges relative
31177 (JSC::ExecState::lexer): Ditto.
31592 * kjs/lexer.cpp:
31593 (JSC::Lexer::setCode):
31594 * kjs/lexer.h:
31595 (JSC::Lexer::sourceRange): Fold together the SourceProvider and line number
31596 into a SourceCode. Fixed a bug where the Lexer would accidentally keep
32323 * kjs/lexer.cpp:
32324 (JSC::Lexer::lex):
34098 * kjs/lexer.cpp:
34099 (JSC::Lexer::lex): Use makeIdentifier instead of makeUString for String.
34100 * kjs/lexer.h: Remove makeUString.
34108 (JSC::StringNode::emitCode): Ditto. The comment from here is now in the lexer.
36187 * kjs/lexer.cpp:
36188 (JSC::Lexer::Lexer):
36189 (JSC::Lexer::clear):
36190 (JSC::Lexer::makeIdentifier):
36191 * kjs/lexer.h:
39199 * kjs/lexer.h: