Changeset 61878 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jun 25, 2010, 12:17:24 PM (15 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 1 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/Android.mk
r59955 r61878 188 188 yarr/RegexJIT.cpp 189 189 190 # Rule to build grammar.y with our custom bison.191 GEN := $(intermediates)/parser/Grammar.cpp192 $(GEN) : PRIVATE_YACCFLAGS := -p jscyy193 $(GEN) : $(LOCAL_PATH)/parser/Grammar.y194 $(call local-transform-y-to-cpp,.cpp)195 $(GEN) : $(LOCAL_BISON)196 LOCAL_GENERATED_SOURCES += $(GEN)197 198 190 # generated headers 199 191 JSC_OBJECTS := $(addprefix $(intermediates)/runtime/, \ -
trunk/JavaScriptCore/CMakeLists.txt
r61853 r61878 204 204 LIST(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_DIR}/Lexer.lut.h) 205 205 206 # GENERATOR 2: bison grammar207 ADD_CUSTOM_COMMAND(208 OUTPUT ${DERIVED_SOURCES_DIR}/Grammar.cpp ${DERIVED_SOURCES_DIR}/Grammar.h209 MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/parser/Grammar.y210 COMMAND ${BISON_EXECUTABLE} -d -p jscyy ${JAVASCRIPTCORE_DIR}/parser/Grammar.y -o ${DERIVED_SOURCES_DIR}/Grammar.cpp --defines=${DERIVED_SOURCES_DIR}/Grammar.h211 COMMENT "[BISON][JSCYY] Building parser with bison"212 VERBATIM)213 LIST(APPEND JavaScriptCore_HEADERS ${DERIVED_SOURCES_DIR}/Grammar.h)214 LIST(APPEND JavaScriptCore_SOURCES ${DERIVED_SOURCES_DIR}/Grammar.cpp)215 216 217 206 # GENERATOR: "chartables.c": compile and execute the chartables generator (and add it to sources) 218 207 IF (MSVC) -
trunk/JavaScriptCore/ChangeLog
r61860 r61878 1 2010-06-25 Oliver Hunt <[email protected]> 2 3 Reviewed by Geoffrey Garen. 4 5 Remove old js parser 6 https://bugs.webkit.org/show_bug.cgi?id=41222 7 8 Remove the old yacc parser, this also solves the tiger problem. Which 9 was a conflict between yacc generated token values and those in the 10 custom parser 11 12 * Android.mk: 13 * CMakeLists.txt: 14 * DerivedSources.make: 15 * DerivedSources.pro: 16 * GNUmakefile.am: 17 * JavaScriptCore.pro: 18 * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: 19 * JavaScriptCore.xcodeproj/project.pbxproj: 20 * parser/Grammar.y: Removed. 21 * parser/JSParser.cpp: 22 * parser/JSParser.h: 23 * parser/Lexer.cpp: 24 * parser/NodeConstructors.h: 25 (JSC::Node::Node): 26 * parser/Parser.cpp: 27 (JSC::Parser::parse): 28 * wtf/Platform.h: 29 1 30 2010-06-25 Jedrzej Nowacki <[email protected]> 2 31 -
trunk/JavaScriptCore/DerivedSources.make
r60598 r61878 40 40 chartables.c \ 41 41 DatePrototype.lut.h \ 42 Grammar.cpp \43 42 JSONObject.lut.h \ 44 43 Lexer.lut.h \ … … 62 61 $^ > $@ 63 62 64 # JavaScript language grammar65 66 Grammar.cpp: Grammar.y67 bison -d -p jscyy $< -o $@ > bison_out.txt 2>&168 perl -p -e 'END { if ($$conflict) { unlink "Grammar.cpp"; die; } } $$conflict ||= /conflict/' < bison_out.txt69 touch Grammar.cpp.h70 touch Grammar.hpp71 cat Grammar.cpp.h Grammar.hpp > Grammar.h72 rm -f Grammar.cpp.h Grammar.hpp bison_out.txt73 74 63 # character tables for PCRE 75 64 -
trunk/JavaScriptCore/DerivedSources.pro
r57925 r61878 26 26 KEYWORDLUT_FILES += \ 27 27 parser/Keywords.table 28 29 JSCBISON += \30 parser/Grammar.y31 28 32 29 RVCT_STUB_FILES += \ … … 69 66 addExtraCompiler(keywordlut) 70 67 71 # GENERATOR 2: bison grammar72 jscbison.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp73 jscbison.input = JSCBISON74 jscbison.commands = bison -d -p jscyy ${QMAKE_FILE_NAME} -o $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c && $(MOVE) $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.h $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.h75 jscbison.depends = ${QMAKE_FILE_NAME}76 addExtraCompiler(jscbison)77 78 68 # GENERATOR 3: JIT Stub functions for RVCT 79 69 rvctstubs.output = $${JSC_GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Generated${QMAKE_FILE_BASE}_RVCT.h -
trunk/JavaScriptCore/GNUmakefile.am
r61732 r61878 557 557 JavaScriptCore/wtf/dtoa.h 558 558 559 javascriptcore_built_sources += \560 DerivedSources/Grammar.cpp \561 DerivedSources/Grammar.h562 563 DerivedSources/Grammar.h: DerivedSources/Grammar.cpp;564 565 DerivedSources/Grammar.cpp: $(srcdir)/JavaScriptCore/parser/Grammar.y566 $(BISON) -d -p jscyy $(srcdir)/JavaScriptCore/parser/Grammar.y -o $@ > bison_out.txt 2>&1567 $(PERL) -p -e 'END { if ($$conflict) { unlink "Grammar.cpp"; die; } } $$conflict ||= /conflict/' < bison_out.txt568 cat $(GENSOURCES)/Grammar.hpp > $(GENSOURCES)/Grammar.h569 rm -f $(GENSOURCES)/Grammar.hpp bison_out.txt570 571 559 DerivedSources/Lexer.lut.h: $(CREATE_HASH_TABLE) $(srcdir)/JavaScriptCore/parser/Keywords.table 572 560 $(PERL) $^ > $@ … … 649 637 JavaScriptCore/pcre/dftables \ 650 638 JavaScriptCore/pcre/ucptable.cpp \ 651 JavaScriptCore/parser/Grammar.y \652 639 JavaScriptCore/parser/Keywords.table 653 640 -
trunk/JavaScriptCore/JavaScriptCore.pro
r61732 r61878 236 236 237 237 # Generated files, simply list them for JavaScriptCore 238 SOURCES += \239 $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp240 238 241 239 !contains(DEFINES, USE_SYSTEM_MALLOC) { -
trunk/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
r61732 r61878 1882 1882 </File> 1883 1883 <File 1884 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\Grammar.cpp"1885 >1886 <FileConfiguration1887 Name="Debug|Win32"1888 >1889 <Tool1890 Name="VCCLCompilerTool"1891 DisableSpecificWarnings="4701"1892 />1893 </FileConfiguration>1894 <FileConfiguration1895 Name="Release|Win32"1896 >1897 <Tool1898 Name="VCCLCompilerTool"1899 DisableSpecificWarnings="4701"1900 />1901 </FileConfiguration>1902 <FileConfiguration1903 Name="Debug_Internal|Win32"1904 >1905 <Tool1906 Name="VCCLCompilerTool"1907 DisableSpecificWarnings="4701"1908 />1909 </FileConfiguration>1910 <FileConfiguration1911 Name="Release_PGOInstrument|Win32"1912 >1913 <Tool1914 Name="VCCLCompilerTool"1915 DisableSpecificWarnings="4701"1916 />1917 </FileConfiguration>1918 <FileConfiguration1919 Name="Release_PGOOptimize|Win32"1920 >1921 <Tool1922 Name="VCCLCompilerTool"1923 DisableSpecificWarnings="4701"1924 />1925 </FileConfiguration>1926 <FileConfiguration1927 Name="Debug_CFLite|Win32"1928 >1929 <Tool1930 Name="VCCLCompilerTool"1931 DisableSpecificWarnings="4701"1932 />1933 </FileConfiguration>1934 <FileConfiguration1935 Name="Release_CFLite|Win32"1936 >1937 <Tool1938 Name="VCCLCompilerTool"1939 DisableSpecificWarnings="4701"1940 />1941 </FileConfiguration>1942 <FileConfiguration1943 Name="Debug_All|Win32"1944 >1945 <Tool1946 Name="VCCLCompilerTool"1947 DisableSpecificWarnings="4701"1948 />1949 </FileConfiguration>1950 </File>1951 <File1952 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\Grammar.h"1953 >1954 </File>1955 <File1956 1884 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\lexer.lut.h" 1957 1885 > -
trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r61732 r61878 146 146 1482B7E40A43076000517CFC /* JSObjectRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B7E20A43076000517CFC /* JSObjectRef.cpp */; }; 147 147 148CD1D8108CF902008163C6 /* JSContextRefPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 148CD1D7108CF902008163C6 /* JSContextRefPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; 148 148F21A3107EC5310042EC2C /* Grammar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FB3F4809D11B2400F49DEB /* Grammar.cpp */; };149 148 148F21AA107EC53A0042EC2C /* BytecodeGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 969A07200ED1CE3300F1F681 /* BytecodeGenerator.cpp */; }; 150 149 148F21B0107EC5410042EC2C /* Lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A8650255597D01FF60F7 /* Lexer.cpp */; }; … … 477 476 BC18C52C0E16FCD200B34460 /* RegExpObject.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C52B0E16FCD200B34460 /* RegExpObject.lut.h */; }; 478 477 BC18C52E0E16FCE100B34460 /* Lexer.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C52D0E16FCE100B34460 /* Lexer.lut.h */; }; 479 BC18C5300E16FCEB00B34460 /* Grammar.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C52F0E16FCEB00B34460 /* Grammar.h */; };480 478 BC257DE80E1F51C50016B6C9 /* Arguments.h in Headers */ = {isa = PBXBuildFile; fileRef = BC257DE60E1F51C50016B6C9 /* Arguments.h */; }; 481 479 BC257DF00E1F52ED0016B6C9 /* GlobalEvalFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = BC257DEE0E1F52ED0016B6C9 /* GlobalEvalFunction.h */; }; … … 759 757 65EA73620BAE35D1001BB560 /* CommonIdentifiers.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CommonIdentifiers.cpp; sourceTree = "<group>"; }; 760 758 65EA73630BAE35D1001BB560 /* CommonIdentifiers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CommonIdentifiers.h; sourceTree = "<group>"; }; 761 65FB3F4809D11B2400F49DEB /* Grammar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Grammar.cpp; sourceTree = "<group>"; };762 759 704FD35305697E6D003DBED9 /* BooleanObject.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = BooleanObject.h; sourceTree = "<group>"; tabWidth = 8; }; 763 760 7E2C6C980D31C6B6002D44E2 /* ScopeChainMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScopeChainMark.h; sourceTree = "<group>"; }; … … 844 841 93303FE80E6A72B500786E6A /* SmallStrings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SmallStrings.cpp; sourceTree = "<group>"; }; 845 842 93303FEA0E6A72C000786E6A /* SmallStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmallStrings.h; sourceTree = "<group>"; }; 846 933A3499038AE7C6008635CE /* Grammar.y */ = {isa = PBXFileReference; explicitFileType = sourcecode.yacc; fileEncoding = 4; indentWidth = 4; path = Grammar.y; sourceTree = "<group>"; tabWidth = 8; };847 843 933A349A038AE7C6008635CE /* Identifier.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = Identifier.h; sourceTree = "<group>"; tabWidth = 8; }; 848 844 933A349D038AE80F008635CE /* Identifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Identifier.cpp; sourceTree = "<group>"; tabWidth = 8; }; … … 980 976 BC18C52B0E16FCD200B34460 /* RegExpObject.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpObject.lut.h; sourceTree = "<group>"; }; 981 977 BC18C52D0E16FCE100B34460 /* Lexer.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lexer.lut.h; sourceTree = "<group>"; }; 982 BC18C52F0E16FCEB00B34460 /* Grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Grammar.h; sourceTree = "<group>"; };983 978 BC22A3980E16E14800AF21C8 /* JSObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSObject.cpp; sourceTree = "<group>"; }; 984 979 BC22A3990E16E14800AF21C8 /* JSObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSObject.h; sourceTree = "<group>"; }; … … 1382 1377 65B174BE09D1000200820339 /* chartables.c */, 1383 1378 BCD203E70E1718F4002C7E82 /* DatePrototype.lut.h */, 1384 65FB3F4809D11B2400F49DEB /* Grammar.cpp */,1385 BC18C52F0E16FCEB00B34460 /* Grammar.h */,1386 1379 BC87CDB810712ACA000614CF /* JSONObject.lut.h */, 1387 1380 BC18C52D0E16FCE100B34460 /* Lexer.lut.h */, … … 1532 1525 children = ( 1533 1526 A7A7EE7411B98B8D0065A14F /* ASTBuilder.h */, 1534 933A3499038AE7C6008635CE /* Grammar.y */,1535 1527 A7A7EE7511B98B8D0065A14F /* JSParser.cpp */, 1536 1528 A7A7EE7611B98B8D0065A14F /* JSParser.h */, … … 1968 1960 BC18C4060E16F5CD00B34460 /* GetPtr.h in Headers */, 1969 1961 BC257DF00E1F52ED0016B6C9 /* GlobalEvalFunction.h in Headers */, 1970 BC18C5300E16FCEB00B34460 /* Grammar.h in Headers */,1971 1962 BC18C4080E16F5CD00B34460 /* HashCountedSet.h in Headers */, 1972 1963 BC18C4090E16F5CD00B34460 /* HashFunctions.h in Headers */, … … 2506 2497 14280855107EC0E70013E7B2 /* GetterSetter.cpp in Sources */, 2507 2498 147F39CD107EC37600427A48 /* GlobalEvalFunction.cpp in Sources */, 2508 148F21A3107EC5310042EC2C /* Grammar.cpp in Sources */,2509 2499 65DFC93308EA173A00F7300B /* HashTable.cpp in Sources */, 2510 2500 147F39CE107EC37600427A48 /* Identifier.cpp in Sources */, -
trunk/JavaScriptCore/parser/JSParser.cpp
r61732 r61878 26 26 #include "config.h" 27 27 28 #if ENABLE(RECURSIVE_PARSE)29 28 #include "JSParser.h" 30 29 … … 33 32 #include "JSGlobalData.h" 34 33 #include "NodeInfo.h" 35 #include "Grammar.h"36 34 #include "ASTBuilder.h" 37 35 #include <utility> … … 1500 1498 1501 1499 } 1502 1503 #endif1504 -
trunk/JavaScriptCore/parser/JSParser.h
r61732 r61878 26 26 #ifndef JSParser_h 27 27 #define JSParser_h 28 #if ENABLE(RECURSIVE_PARSE)29 28 30 29 namespace JSC { … … 122 121 int jsParse(JSGlobalData*); 123 122 } 124 #endif125 123 #endif // JSParser_h -
trunk/JavaScriptCore/parser/Lexer.cpp
r61732 r61878 39 39 using namespace Unicode; 40 40 41 #if ENABLE(RECURSIVE_PARSE)42 41 #include "JSParser.h" 43 #else44 using namespace JSC;45 #include "Grammar.h"46 #endif47 48 42 #include "Lookup.h" 49 43 #include "Lexer.lut.h" -
trunk/JavaScriptCore/parser/NodeConstructors.h
r61732 r61878 44 44 45 45 inline Node::Node(JSGlobalData* globalData) 46 #if ENABLE(RECURSIVE_PARSE)47 46 : m_line(globalData->lexer->lastLineNumber()) 48 #else49 : m_line(globalData->lexer->lineNumber())50 #endif51 47 { 52 48 } -
trunk/JavaScriptCore/parser/Parser.cpp
r61732 r61878 53 53 Lexer& lexer = *globalData->lexer; 54 54 lexer.setCode(*m_source, m_arena); 55 56 #if ENABLE(RECURSIVE_PARSE) 55 57 56 int parseError = jsParse(globalData); 58 #else59 int parseError = jscyyparse(globalData);60 #endif61 57 int lineNumber = lexer.lineNumber(); 62 58 bool lexError = lexer.sawError(); -
trunk/JavaScriptCore/wtf/Platform.h
r61817 r61878 1090 1090 #define ENABLE_JSC_ZOMBIES 0 1091 1091 1092 #if !defined(BUILDING_ON_TIGER)1093 #define ENABLE_RECURSIVE_PARSE 11094 #endif1095 1096 1092 /* FIXME: Eventually we should enable this for all platforms and get rid of the define. */ 1097 1093 #if PLATFORM(MAC)
Note:
See TracChangeset
for help on using the changeset viewer.