From ea869fb403fd74ddda04e6c2e163f764a311d46e Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Mon, 28 Oct 2013 18:12:06 +0000 Subject: [PATCH] Improve preprocessor by using GLSL scanner, allowing read-only strings to be compiled, unifying of line # tracking, and correct detection that ES #version appeared after a comment. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23721 e7fa87d3-cd2b-0410-9028-fcbf551c1848 --- Install/Windows/glslangValidator.exe | Bin 355328 -> 369664 bytes StandAlone/StandAlone.cpp | 21 ++-- Test/baseResults/empty.frag.out | 30 +++++ Test/baseResults/versionsClean.frag.out | 3 +- Test/empty.frag | 0 Test/empty2.frag | 1 + Test/empty3.frag | 1 + Test/runtests | 1 + glslang/MachineIndependent/ParseHelper.cpp | 84 +++++--------- glslang/MachineIndependent/ParseHelper.h | 14 ++- glslang/MachineIndependent/Scan.cpp | 86 +++++++------- glslang/MachineIndependent/Scan.h | 79 +++++++++---- glslang/MachineIndependent/ShaderLang.cpp | 66 +++++++---- glslang/MachineIndependent/Versions.cpp | 8 +- .../MachineIndependent/preprocessor/Pp.cpp | 25 ++-- .../preprocessor/PpContext.cpp | 33 ++---- .../preprocessor/PpContext.h | 10 +- .../preprocessor/PpScanner.cpp | 108 +++--------------- .../preprocessor/PpTokens.cpp | 11 +- glslang/Public/ShaderLang.h | 4 +- 20 files changed, 285 insertions(+), 300 deletions(-) create mode 100644 Test/baseResults/empty.frag.out create mode 100644 Test/empty.frag create mode 100644 Test/empty2.frag create mode 100644 Test/empty3.frag diff --git a/Install/Windows/glslangValidator.exe b/Install/Windows/glslangValidator.exe index 9cb8d50f2bc080301eec0de61a2b6365960cccc0..41819bcc0a65fec7c69ad1566619230f87e0ad98 100644 GIT binary patch literal 369664 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 F{{inSVx9m1 delta 155230 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%0DL-QQF65&0mF@U)e?mukg?_R3{D6`# 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 U?I?DEGwSA90S}(C*VVA(KcP`4U;qFB diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 5a4ebb01..441f88b1 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -92,12 +92,12 @@ ShBindingTable FixedAttributeTable = { 3, FixedAttributeBindings }; EShLanguage FindLanguage(const std::string& name); bool CompileFile(const char *fileName, ShHandle, int options); void usage(); -void FreeFileData(char **data); -char** ReadFileData(const char *fileName); +void FreeFileData(char** data); +char** ReadFileData(const char* fileName); void InfoLogMsg(const char* msg, const char* name, const int num); // Use to test breaking up a single shader file into multiple strings. -int NumShaderStrings = 1; +int NumShaderStrings; TBuiltInResource Resources; std::string ConfigFile; @@ -205,7 +205,7 @@ void ProcessConfigFile() char** configStrings = 0; char *config = 0; if (ConfigFile.size() > 0) { - char** configStrings = ReadFileData(ConfigFile.c_str()); + configStrings = ReadFileData(ConfigFile.c_str()); if (configStrings) config = *configStrings; else { @@ -731,9 +731,11 @@ bool CompileFile(const char *fileName, ShHandle compiler, int Options) for (int j = 0; j < ((Options & EOptionMemoryLeakMode) ? 100 : 1); ++j) { //ret = ShCompile(compiler, shaderStrings, NumShaderStrings, lengths, EShOptNone, &Resources, Options, 100, false, messages); ret = ShCompile(compiler, shaderStrings, NumShaderStrings, 0, EShOptNone, &Resources, Options, 100, false, messages); - //const char* multi[4] = { "# ve", "rsion", " 300 e", "s" }; + //const char* multi[12] = { "# ve", "rsion", " 300 e", "s", "\n#err", + // "or should be l", "ine 1", "string 5\n", "float glo", "bal", + // ";\n#error should be line 2\n void main() {", "global = 2.3;}" }; //const char* multi[7] = { "/", "/", "\\", "\n", "\n", "#", "version 300 es" }; - //ret = ShCompile(compiler, multi, 4, 0, EShOptNone, &Resources, Options, 100, false, messages); + //ret = ShCompile(compiler, multi, 7, 0, EShOptNone, &Resources, Options, 100, false, messages); } if (Options & EOptionMemoryLeakMode) @@ -836,12 +838,13 @@ char** ReadFileData(const char *fileName) } fdata[count] = '\0'; fclose(in); - if(count==0){ + if (count == 0) { return_data[0]=(char*)malloc(count+2); return_data[0][0]='\0'; - NumShaderStrings=0; + NumShaderStrings = 0; return return_data; - } + } else + NumShaderStrings = 1; int len = (int)(ceil)((float)count/(float)NumShaderStrings); int ptr_len=0,i=0; diff --git a/Test/baseResults/empty.frag.out b/Test/baseResults/empty.frag.out new file mode 100644 index 00000000..fa91cf3b --- /dev/null +++ b/Test/baseResults/empty.frag.out @@ -0,0 +1,30 @@ +empty.frag +WARNING: #version: statement missing; use #version on first line of shader + +0:? Sequence +0:? Linker Objects + +empty2.frag +WARNING: #version: statement missing; use #version on first line of shader + +0:? Sequence +0:? Linker Objects + +empty3.frag +Warning, version 110 is not yet complete; most features are present, but a few are missing. + +0:? Sequence +0:? Linker Objects + + +Linked fragment stage: + +ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders + +ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders + +ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point + +0:? Sequence +0:? Linker Objects + diff --git a/Test/baseResults/versionsClean.frag.out b/Test/baseResults/versionsClean.frag.out index 19082c34..783d469c 100644 --- a/Test/baseResults/versionsClean.frag.out +++ b/Test/baseResults/versionsClean.frag.out @@ -1,5 +1,6 @@ ERROR: #version: statement must appear first in es-profile shader; before comments or newlines -ERROR: 1 compilation errors. No code generated. +ERROR: 0:34: '#version' : must occur first in shader +ERROR: 2 compilation errors. No code generated. ERROR: node is still EOpNull! 0:41 Function Definition: main( (void) diff --git a/Test/empty.frag b/Test/empty.frag new file mode 100644 index 00000000..e69de29b diff --git a/Test/empty2.frag b/Test/empty2.frag new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/Test/empty2.frag @@ -0,0 +1 @@ + diff --git a/Test/empty3.frag b/Test/empty3.frag new file mode 100644 index 00000000..14cd83d7 --- /dev/null +++ b/Test/empty3.frag @@ -0,0 +1 @@ +#version 110 diff --git a/Test/runtests b/Test/runtests index 0bde19ee..5f0e9411 100644 --- a/Test/runtests +++ b/Test/runtests @@ -41,6 +41,7 @@ runLinkTest recurse1.vert recurse1.frag recurse2.frag runLinkTest 300link.frag runLinkTest 300link2.frag runLinkTest 300link3.frag +runLinkTest empty.frag empty2.frag empty3.frag # # multi-threaded test diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 7abc7bee..77100a86 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -35,6 +35,7 @@ // #include "ParseHelper.h" +#include "Scan.h" #include "osinclude.h" #include @@ -51,12 +52,10 @@ TParseContext::TParseContext(TSymbolTable& symt, TIntermediate& interm, bool pb, intermediate(interm), symbolTable(symt), infoSink(is), language(L), version(v), profile(p), forwardCompatible(fc), messages(m), contextPragma(true, false), loopNestingLevel(0), structNestingLevel(0), - tokensBeforeEOF(false), - numErrors(0), parsingBuiltins(pb), afterEOF(false) + tokensBeforeEOF(false), currentScanner(0), + numErrors(0), parsingBuiltins(pb), afterEOF(false), + anyIndexLimits(false) { - currentLoc.line = 1; - currentLoc.string = 0; - // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms linkage = new TIntermAggregate; @@ -106,43 +105,9 @@ TParseContext::TParseContext(TSymbolTable& symt, TIntermediate& interm, bool pb, globalOutputDefaults.layoutStream = 0; } -// -// Parse an array of strings using yyparse, going through the -// preprocessor to tokenize the shader strings, then through -// the GLSL scanner. -// -// Returns true for successful acceptance of the shader, false if any errors. -// -bool TParseContext::parseShaderStrings(TPpContext& ppContext, char* strings[], size_t lengths[], int numStrings) +void TParseContext::setLimits(const TLimits& L) { - // empty shaders are okay - if (! strings || numStrings == 0 || lengths[0] == 0) - return true; - - for (int i = 0; i < numStrings; ++i) { - if (! strings[i]) { - TSourceLoc loc; - loc.string = i; - loc.line = 1; - error(loc, "Null shader source string", "", ""); - - return false; - } - } - - if (getPreamble()) - ppContext.setPreamble(getPreamble(), strlen(getPreamble())); - ppContext.setShaderStrings(strings, lengths, numStrings); - - // TODO: desktop PP: a shader containing nothing but white space and comments is valid, even though it has no parse tokens - size_t len = 0; - while (strings[0][len] == ' ' || - strings[0][len] == '\t' || - strings[0][len] == '\n' || - strings[0][len] == '\r') { - if (++len >= lengths[0]) - return true; - } + limits = L; anyIndexLimits = ! limits.generalAttributeMatrixVectorIndexing || ! limits.generalConstantMatrixVectorIndexing || @@ -150,10 +115,21 @@ bool TParseContext::parseShaderStrings(TPpContext& ppContext, char* strings[], s ! limits.generalUniformIndexing || ! limits.generalVariableIndexing || ! limits.generalVaryingIndexing; +} +// +// Parse an array of strings using yyparse, going through the +// preprocessor to tokenize the shader strings, then through +// the GLSL scanner. +// +// Returns true for successful acceptance of the shader, false if any errors. +// +bool TParseContext::parseShaderStrings(TPpContext& ppContext, TInputScanner& input, bool versionWillBeError) +{ + currentScanner = &input; + ppContext.setInput(input, versionWillBeError); yyparse((void*)this); - - finalize(); + finalErrorCheck(); return numErrors == 0; } @@ -163,21 +139,21 @@ void TParseContext::parserError(const char *s) { if (afterEOF) { if (tokensBeforeEOF == 1) - error(currentLoc, "", "pre-mature EOF", s, ""); + error(getCurrentLoc(), "", "pre-mature EOF", s, ""); } else - error(currentLoc, "", "", s, ""); + error(getCurrentLoc(), "", "", s, ""); } void TParseContext::handlePragma(const char **tokens, int numTokens) { if (!strcmp(tokens[0], "optimize")) { if (numTokens != 4) { - error(currentLoc, "optimize pragma syntax is incorrect", "#pragma", ""); + error(getCurrentLoc(), "optimize pragma syntax is incorrect", "#pragma", ""); return; } if (strcmp(tokens[1], "(")) { - error(currentLoc, "\"(\" expected after 'optimize' keyword", "#pragma", ""); + error(getCurrentLoc(), "\"(\" expected after 'optimize' keyword", "#pragma", ""); return; } @@ -186,22 +162,22 @@ void TParseContext::handlePragma(const char **tokens, int numTokens) else if (!strcmp(tokens[2], "off")) contextPragma.optimize = false; else { - error(currentLoc, "\"on\" or \"off\" expected after '(' for 'optimize' pragma", "#pragma", ""); + error(getCurrentLoc(), "\"on\" or \"off\" expected after '(' for 'optimize' pragma", "#pragma", ""); return; } if (strcmp(tokens[3], ")")) { - error(currentLoc, "\")\" expected to end 'optimize' pragma", "#pragma", ""); + error(getCurrentLoc(), "\")\" expected to end 'optimize' pragma", "#pragma", ""); return; } } else if (!strcmp(tokens[0], "debug")) { if (numTokens != 4) { - error(currentLoc, "debug pragma syntax is incorrect", "#pragma", ""); + error(getCurrentLoc(), "debug pragma syntax is incorrect", "#pragma", ""); return; } if (strcmp(tokens[1], "(")) { - error(currentLoc, "\"(\" expected after 'debug' keyword", "#pragma", ""); + error(getCurrentLoc(), "\"(\" expected after 'debug' keyword", "#pragma", ""); return; } @@ -210,12 +186,12 @@ void TParseContext::handlePragma(const char **tokens, int numTokens) else if (!strcmp(tokens[2], "off")) contextPragma.debug = false; else { - error(currentLoc, "\"on\" or \"off\" expected after '(' for 'debug' pragma", "#pragma", ""); + error(getCurrentLoc(), "\"on\" or \"off\" expected after '(' for 'debug' pragma", "#pragma", ""); return; } if (strcmp(tokens[3], ")")) { - error(currentLoc, "\")\" expected to end 'debug' pragma", "#pragma", ""); + error(getCurrentLoc(), "\")\" expected to end 'debug' pragma", "#pragma", ""); return; } } else { @@ -2282,7 +2258,7 @@ void TParseContext::inductiveLoopCheck(TSourceLoc loc, TIntermNode* init, TInter // // Do any additional error checking, etc., once we know the parsing is done. // -void TParseContext::finalize() +void TParseContext::finalErrorCheck() { // Check on array indexes for ES 2.0 (version 100) limitations. for (size_t i = 0; i < needsIndexLimitationChecking.size(); ++i) diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index eab5fb7d..4f9e0537 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -40,6 +40,7 @@ #include "../Include/ShHandle.h" #include "SymbolTable.h" #include "localintermediate.h" +#include "Scan.h" namespace glslang { @@ -64,9 +65,10 @@ public: TParseContext(TSymbolTable&, TIntermediate&, bool parsingBuiltins, int version, EProfile, EShLanguage, TInfoSink&, bool forwardCompatible = false, EShMessages messages = EShMsgDefault); -public: - bool parseShaderStrings(TPpContext&, char* strings[], size_t strLen[], int numStrings); + void setLimits(const TLimits&); + bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false); void parserError(const char *s); // for bison's yyerror + const char* getPreamble(); void C_DECL error(TSourceLoc, const char *szReason, const char *szToken, const char *szExtraInfoFormat, ...); @@ -163,6 +165,9 @@ public: TPpContext* getPpContext() const { return ppContext; } void addError() { ++numErrors; } int getNumErrors() const { return numErrors; } + const TSourceLoc& getCurrentLoc() const { return currentScanner->getSourceLoc(); } + void setCurrentLine(int line) { currentScanner->setLine(line); } + void setCurrentString(int string) { currentScanner->setString(string); } // The following are implemented in Versions.cpp to localize version/profile/stage/extensions control void initializeExtensionBehavior(); @@ -177,14 +182,13 @@ public: void doubleCheck(TSourceLoc, const char* op); protected: - const char* getPreamble(); void nonInitConstCheck(TSourceLoc, TString& identifier, TType& type); TVariable* declareNonArray(TSourceLoc, TString& identifier, TType&, bool& newDeclaration); void declareArray(TSourceLoc, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration); TIntermNode* executeInitializer(TSourceLoc, TString& identifier, TIntermTyped* initializer, TVariable* variable); TIntermTyped* convertInitializerList(TSourceLoc, const TType&, TIntermTyped* initializer); TOperator mapTypeToConstructorOp(const TType&); - void finalize(); + void finalErrorCheck(); public: // @@ -213,13 +217,13 @@ public: TQualifier currentBlockQualifier; TIntermAggregate *linkage; // aggregate node of objects the linker may need, if not referenced by the rest of the AST TPrecisionQualifier defaultPrecision[EbtNumTypes]; - TSourceLoc currentLoc; bool tokensBeforeEOF; TLimits limits; protected: TScanContext* scanContext; TPpContext* ppContext; + TInputScanner* currentScanner; int numErrors; // number of compile-time errors encountered bool parsingBuiltins; // true if parsing built-in symbols/functions TMap extensionBehavior; // for each extension string, what its current behavior is set to diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp index 2866c7b9..4f0d4af6 100644 --- a/glslang/MachineIndependent/Scan.cpp +++ b/glslang/MachineIndependent/Scan.cpp @@ -40,12 +40,12 @@ #include -#include "Scan.h" #include "../Include/Types.h" #include "SymbolTable.h" #include "glslang_tab.cpp.h" #include "ParseHelper.h" #include "ScanContext.h" +#include "Scan.h" // preprocessor includes #include "preprocessor/PpContext.h" @@ -54,37 +54,37 @@ namespace glslang { // read past any white space -void ConsumeWhiteSpace(TInputScanner& input, bool& foundNonSpaceTab) +void TInputScanner::consumeWhiteSpace(bool& foundNonSpaceTab) { - char c = input.peek(); // don't accidentally consume anything other than whitespace + char c = peek(); // don't accidentally consume anything other than whitespace while (c == ' ' || c == '\t' || c == '\r' || c == '\n') { if (c == '\r' || c == '\n') foundNonSpaceTab = true; - input.get(); - c = input.peek(); + get(); + c = peek(); } } // return true if a comment was actually consumed -bool ConsumeComment(TInputScanner& input) +bool TInputScanner::consumeComment() { - if (input.peek() != '/') + if (peek() != '/') return false; - input.get(); // consume the '/' - char c = input.peek(); + get(); // consume the '/' + char c = peek(); if (c == '/') { // a '//' style comment - input.get(); // consume the second '/' - c = input.get(); + get(); // consume the second '/' + c = get(); do { while (c > 0 && c != '\\' && c != '\r' && c != '\n') - c = input.get(); + c = get(); if (c <= 0 || c == '\r' || c == '\n') { while (c == '\r' || c == '\n') - c = input.get(); + c = get(); // we reached the end of the comment break; @@ -92,30 +92,30 @@ bool ConsumeComment(TInputScanner& input) // it's a '\', so we need to keep going, after skipping what's escaped // read the skipped character - c = input.get(); + c = get(); // if it's a two-character newline, skip both characters - if (c == '\r' && input.peek() == '\n') - input.get(); - c = input.get(); + if (c == '\r' && peek() == '\n') + get(); + c = get(); } } while (true); // put back the last non-comment character if (c > 0) - input.unget(); + unget(); return true; } else if (c == '*') { // a '/*' style comment - input.get(); // consume the '*' - c = input.get(); + get(); // consume the '*' + c = get(); do { while (c > 0 && c != '*') - c = input.get(); + c = get(); if (c == '*') { - c = input.get(); + c = get(); if (c == '/') break; // end of comment // not end of comment @@ -126,26 +126,26 @@ bool ConsumeComment(TInputScanner& input) return true; } else { // it's not a comment, put the '/' back - input.unget(); + unget(); return false; } } // skip whitespace, then skip a comment, rinse, repeat -void ConsumeWhitespaceComment(TInputScanner& input, bool& foundNonSpaceTab) +void TInputScanner::consumeWhitespaceComment(bool& foundNonSpaceTab) { do { - ConsumeWhiteSpace(input, foundNonSpaceTab); + consumeWhiteSpace(foundNonSpaceTab); // if not starting a comment now, then done - char c = input.peek(); + char c = peek(); if (c != '/' || c < 0) return; // skip potential comment foundNonSpaceTab = true; - if (! ConsumeComment(input)) + if (! consumeComment()) return; } while (true); @@ -159,9 +159,9 @@ void ConsumeWhitespaceComment(TInputScanner& input, bool& foundNonSpaceTab) // is that scanning will start anew, following the rules for the chosen version/profile, // and with a corresponding parsing context. // -bool ScanVersion(TInputScanner& input, int& version, EProfile& profile) +bool TInputScanner::scanVersion(int& version, EProfile& profile) { - // This function doesn't have to get all the semantics correct, + // This function doesn't have to get all the semantics correct, // just find the #version if there is a correct one present. // The preprocessor will have the responsibility of getting all the semantics right. @@ -169,43 +169,43 @@ bool ScanVersion(TInputScanner& input, int& version, EProfile& profile) profile = ENoProfile; bool foundNonSpaceTab = false; - ConsumeWhitespaceComment(input, foundNonSpaceTab); + consumeWhitespaceComment(foundNonSpaceTab); // # - if (input.get() != '#') + if (get() != '#') return true; // whitespace char c; do { - c = input.get(); + c = get(); } while (c == ' ' || c == '\t'); - if ( c != 'v' || - input.get() != 'e' || - input.get() != 'r' || - input.get() != 's' || - input.get() != 'i' || - input.get() != 'o' || - input.get() != 'n') + if ( c != 'v' || + get() != 'e' || + get() != 'r' || + get() != 's' || + get() != 'i' || + get() != 'o' || + get() != 'n') return true; // whitespace do { - c = input.get(); + c = get(); } while (c == ' ' || c == '\t'); // version number while (c >= '0' && c <= '9') { version = 10 * version + (c - '0'); - c = input.get(); + c = get(); } if (version == 0) return true; // whitespace while (c == ' ' || c == '\t') - c = input.get(); + c = get(); // profile const int maxProfileLength = 13; // not including any 0 @@ -215,7 +215,7 @@ bool ScanVersion(TInputScanner& input, int& version, EProfile& profile) if (c < 0 || c == ' ' || c == '\t' || c == '\n' || c == '\r') break; profileString[profileLength] = c; - c = input.get(); + c = get(); } if (c > 0 && c != ' ' && c != '\t' && c != '\n' && c != '\r') return true; diff --git a/glslang/MachineIndependent/Scan.h b/glslang/MachineIndependent/Scan.h index 9d600fc9..fb050372 100644 --- a/glslang/MachineIndependent/Scan.h +++ b/glslang/MachineIndependent/Scan.h @@ -33,6 +33,8 @@ //ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE //POSSIBILITY OF SUCH DAMAGE. // +#ifndef _GLSLANG_SCAN_INCLUDED_ +#define _GLSLANG_SCAN_INCLUDED_ #include "Versions.h" @@ -44,7 +46,17 @@ namespace glslang { // class TInputScanner { public: - TInputScanner(int n, const char* const i[], size_t L[]) : numSources(n), sources(i), lengths(L), currentSource(0), currentChar(0) { } + TInputScanner(int n, const char* const s[], size_t L[], int b = 0) : + numSources(n), sources(s), lengths(L), currentSource(0), currentChar(0), stringBias(b) + { + loc = new TSourceLoc[numSources]; + loc[currentSource].string = -stringBias; + loc[currentSource].line = 1; + } + virtual ~TInputScanner() + { + delete [] loc; + } // return of -1 means end of strings, // anything else is the next character @@ -56,23 +68,13 @@ public: return -1; char ret = sources[currentSource][currentChar]; + if (ret == '\n') + ++loc[currentSource].line; advance(); return ret; } - // advance one character - void advance() - { - ++currentChar; - if (currentChar >= static_cast(lengths[currentSource])) { - ++currentSource; - currentChar = 0; - while (currentSource < numSources && lengths[currentSource] == 0) - ++currentSource; - } - } - // retrieve the next character, no advance char peek() { @@ -95,21 +97,58 @@ public: if (currentChar < 0) currentChar = 0; } + if (peek() == '\n') + --loc[currentSource].line; } + // for #line override + void setLine(int newLine) { loc[currentSource].line = newLine; } + void setString(int newString) { loc[currentSource].string = newString; } + + const TSourceLoc& getSourceLoc() const { return loc[currentSource]; } + + void consumeWhiteSpace(bool& foundNonSpaceTab); + bool consumeComment(); + void consumeWhitespaceComment(bool& foundNonSpaceTab); + bool scanVersion(int& version, EProfile& profile); + protected: + + // advance one character + void advance() + { + ++currentChar; + if (currentChar >= static_cast(lengths[currentSource])) { + ++currentSource; + if (currentSource < numSources) { + loc[currentSource].string = loc[currentSource - 1].string + 1; + loc[currentSource].line = 1; + } + while (currentSource < numSources && lengths[currentSource] == 0) { + ++currentSource; + if (currentSource < numSources) { + loc[currentSource].string = loc[currentSource - 1].string + 1; + loc[currentSource].line = 1; + } + } + currentChar = 0; + } + } + int numSources; // number of strings in source const char* const *sources; // array of strings const size_t *lengths; // length of each string int currentSource; int currentChar; + + // This is for reporting what string/line an error occurred on, and can be overridden by #line. + // It remembers the last state of each source string as it is left for the next one, so unget() + // can restore that state. + TSourceLoc* loc; // an array + + int stringBias; // the first string that is the user's string number 0 }; -// TODO: The location of these is still pending a grand design for going to a singular -// scanner for version finding, preprocessing, and tokenizing: -void ConsumeWhiteSpace(TInputScanner& input, bool& foundNonSpaceTab); -bool ConsumeComment(TInputScanner& input); -void ConsumeWhitespaceComment(TInputScanner& input, bool& foundNonSpaceTab); -bool ScanVersion(TInputScanner& input, int& version, EProfile& profile); - } // end namespace glslang + +#endif // _GLSLANG_SCAN_INCLUDED_ diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index fe5c5a3c..9f8bc17a 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -143,7 +143,8 @@ bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profil builtInShaders[0] = builtIns.c_str(); builtInLengths[0] = builtIns.size(); - if (! parseContext.parseShaderStrings(ppContext, const_cast(builtInShaders), builtInLengths, 1) != 0) { + TInputScanner input(1, builtInShaders, builtInLengths); + if (! parseContext.parseShaderStrings(ppContext, input) != 0) { infoSink.info.message(EPrefixInternalError, "Unable to parse built-ins"); printf("Unable to parse built-ins\n%s\n", infoSink.info.c_str()); @@ -420,27 +421,42 @@ bool CompileDeferred( if (! InitThread()) return false; - if (numStrings == 0) - return true; - // This must be undone (.pop()) by the caller, after it finishes consuming the created tree. GetThreadPoolAllocator().push(); + + if (numStrings == 0) + return true; - // move to length-based strings, rather than null-terminated strings - size_t* lengths = new size_t[numStrings]; + // Move to length-based strings, rather than null-terminated strings. + // Also, add strings to include the preamble and to ensure the shader is not null, + // which lets the grammar accept what was a null (post preprocessing) shader. + // + // Shader will look like + // string 0: preamble + // string 1...numStrings: user's shader + // string numStrings+1: "int;" + // + size_t* lengths = new size_t[numStrings + 2]; + const char** strings = new const char*[numStrings + 2]; for (int s = 0; s < numStrings; ++s) { + strings[s + 1] = shaderStrings[s]; if (inputLengths == 0 || inputLengths[s] < 0) - lengths[s] = strlen(shaderStrings[s]); + lengths[s + 1] = strlen(shaderStrings[s]); else - lengths[s] = inputLengths[s]; + lengths[s + 1] = inputLengths[s]; } + // First, without using the preprocessor or parser, find the #version, so we know what + // symbol tables, processing rules, etc. to set up. This does not need the extra strings + // outlined above, just the user shader. int version; EProfile profile; - glslang::TInputScanner input(numStrings, shaderStrings, lengths); - bool versionNotFirst = ScanVersion(input, version, profile); + glslang::TInputScanner userInput(numStrings, &strings[1], &lengths[1]); // no preamble + bool versionNotFirst = userInput.scanVersion(version, profile); + bool versionNotFound = version == 0; bool goodVersion = DeduceVersionProfile(compiler->infoSink, compiler->getLanguage(), versionNotFirst, defaultVersion, version, profile); - + bool versionWillBeError = (versionNotFound || (profile == EEsProfile && versionNotFirst)); + intermediate.setVersion(version); intermediate.setProfile(profile); SetupBuiltinSymbolTable(version, profile); @@ -458,31 +474,36 @@ bool CompileDeferred( // Add built-in symbols that are potentially context dependent; // they get popped again further down. AddContextSpecificSymbols(resources, compiler->infoSink, symbolTable, version, profile, compiler->getLanguage()); + + // + // Now we can process the full shader under proper symbols and rules. + // TParseContext parseContext(symbolTable, intermediate, false, version, profile, compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages); glslang::TScanContext scanContext(parseContext); TPpContext ppContext(parseContext); parseContext.setScanContext(&scanContext); parseContext.setPpContext(&ppContext); - parseContext.limits = resources->limits; + parseContext.setLimits(resources->limits); if (! goodVersion) parseContext.addError(); parseContext.initializeExtensionBehavior(); - // - // Parse the application's shaders. All the following symbol table - // work will be throw-away, so push a new allocation scope that can - // be thrown away, then push a scope for the current shader's globals. - // bool success = true; - symbolTable.push(); - if (! symbolTable.atGlobalLevel()) - parseContext.infoSink.info.message(EPrefixInternalError, "Wrong symbol table level"); + // Fill in the strings as outlined above. + strings[0] = parseContext.getPreamble(); + lengths[0] = strlen(strings[0]); + strings[numStrings + 1] = "\n int;"; + lengths[numStrings + 1] = strlen(strings[numStrings + 1]); + TInputScanner fullInput(numStrings + 2, strings, lengths, 1); - bool ret = parseContext.parseShaderStrings(ppContext, const_cast(shaderStrings), lengths, numStrings); - if (! ret) + // Push a new symbol allocation scope that can for the shader's globals. + symbolTable.push(); + + // Parse the full shader. + if (! parseContext.parseShaderStrings(ppContext, fullInput, versionWillBeError)) success = false; intermediate.addSymbolLinkageNodes(parseContext.linkage, parseContext.language, symbolTable); @@ -503,6 +524,7 @@ bool CompileDeferred( intermediate.outputTree(parseContext.infoSink); delete [] lengths; + delete [] strings; return success; } diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index f6cf13fa..8b9680f8 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -330,14 +330,14 @@ void TParseContext::updateExtensionBehavior(const char* extName, const char* beh else if (! strcmp("warn", behaviorString)) behavior = EBhWarn; else - error(currentLoc, "behavior not supported", "#extension", behaviorString); + error(getCurrentLoc(), "behavior not supported", "#extension", behaviorString); // Update the current behavior TMap::iterator iter; if (! strcmp(extName, "all")) { // special case for the 'all' extension; apply it to every extension present if (behavior == EBhRequire || behavior == EBhEnable) { - error(currentLoc, "extension 'all' cannot have 'require' or 'enable' behavior", "#extension", ""); + error(getCurrentLoc(), "extension 'all' cannot have 'require' or 'enable' behavior", "#extension", ""); return; } else { for (iter = extensionBehavior.begin(); iter != extensionBehavior.end(); ++iter) @@ -349,12 +349,12 @@ void TParseContext::updateExtensionBehavior(const char* extName, const char* beh if (iter == extensionBehavior.end()) { switch (behavior) { case EBhRequire: - error(currentLoc, "extension not supported", "#extension", extName); + error(getCurrentLoc(), "extension not supported", "#extension", extName); break; case EBhEnable: case EBhWarn: case EBhDisable: - warn(currentLoc, "extension not supported", "#extension", extName); + warn(getCurrentLoc(), "extension not supported", "#extension", extName); break; default: assert(0 && "unexpected behavior"); diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp index 5b4d83ce..aa2ab671 100644 --- a/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -134,7 +134,7 @@ int TPpContext::FinalCPP() mem_FreePool(pool); if (ifdepth) - parseContext.error(parseContext.currentLoc, "missing #endif", "#if", ""); + parseContext.error(parseContext.getCurrentLoc(), "missing #endif", "#if", ""); return 1; } @@ -552,21 +552,21 @@ int TPpContext::CPPline(TPpToken * ppToken) return token; } else if (token == CPP_INTCONSTANT) { - parseContext.currentLoc.line = atoi(ppToken->name); + parseContext.setCurrentLine(atoi(ppToken->name)); token = currentInput->scan(this, currentInput, ppToken); if (token == CPP_INTCONSTANT) { - parseContext.currentLoc.string = atoi(ppToken->name); + parseContext.setCurrentString(atoi(ppToken->name)); token = currentInput->scan(this, currentInput, ppToken); if (token != '\n') - parseContext.error(parseContext.currentLoc, "cannot be followed by more than two integral literals", "#line", ""); + parseContext.error(parseContext.getCurrentLoc(), "cannot be followed by more than two integral literals", "#line", ""); } else if (token == '\n') return token; else - parseContext.error(parseContext.currentLoc, "second argument can only be an integral literal", "#line", ""); + parseContext.error(parseContext.getCurrentLoc(), "second argument can only be an integral literal", "#line", ""); } else - parseContext.error(parseContext.currentLoc, "first argument can only be an integral literal", "#line", ""); + parseContext.error(parseContext.getCurrentLoc(), "first argument can only be an integral literal", "#line", ""); return token; } @@ -662,8 +662,8 @@ int TPpContext::CPPversion(TPpToken * ppToken) { int token = currentInput->scan(this, currentInput, ppToken); - if (notAVersionToken) - parseContext.error(ppToken->loc, "must occur before any other statement in the program", "#version", ""); + if (errorOnVersion) + parseContext.error(ppToken->loc, "must occur first in shader", "#version", ""); if (token == '\n') { parseContext.error(ppToken->loc, "must be followed by version number", "#version", ""); @@ -759,7 +759,6 @@ int TPpContext::readCPPline(TPpToken * ppToken) } else { parseContext.error(ppToken->loc, "#else after a #else", "#else", ""); ifdepth = 0; - notAVersionToken = true; return 0; } } else if (ppToken->atom == elifAtom) { @@ -805,8 +804,6 @@ int TPpContext::readCPPline(TPpToken * ppToken) token = currentInput->scan(this, currentInput, ppToken); } - notAVersionToken = ! isVersion; - return token; } // readCPPline @@ -931,7 +928,7 @@ int TPpContext::MacroExpand(int atom, TPpToken* ppToken, int expandUndef) int depth = 0; if (atom == __LINE__Atom) { - ppToken->ival = parseContext.currentLoc.line; + ppToken->ival = parseContext.getCurrentLoc().line; sprintf(ppToken->name, "%d", ppToken->ival); UngetToken(CPP_INTCONSTANT, ppToken); @@ -939,7 +936,7 @@ int TPpContext::MacroExpand(int atom, TPpToken* ppToken, int expandUndef) } if (atom == __FILE__Atom) { - ppToken->ival = parseContext.currentLoc.string; + ppToken->ival = parseContext.getCurrentLoc().string; sprintf(ppToken->name, "%d", ppToken->ival); UngetToken(CPP_INTCONSTANT, ppToken); @@ -964,8 +961,6 @@ int TPpContext::MacroExpand(int atom, TPpToken* ppToken, int expandUndef) in = (MacroInputSrc*)malloc(sizeof(*in)); memset(in, 0, sizeof(*in)); - in->base.line = currentInput->line; - in->base.name = currentInput->name; if ((! sym || sym->mac.undef) && expandUndef) { // push input diff --git a/glslang/MachineIndependent/preprocessor/PpContext.cpp b/glslang/MachineIndependent/preprocessor/PpContext.cpp index 40cf47f0..5290f0e0 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.cpp +++ b/glslang/MachineIndependent/preprocessor/PpContext.cpp @@ -84,7 +84,7 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace glslang { TPpContext::TPpContext(TParseContext& pc) : - preamble(0), strings(0), notAVersionToken(false), parseContext(pc) + preamble(0), strings(0), parseContext(pc) { InitAtomTable(); InitScanner(this); @@ -101,28 +101,17 @@ TPpContext::~TPpContext() delete [] preamble; } -void TPpContext::setPreamble(const char* p, size_t l) +void TPpContext::setInput(TInputScanner& input, bool versionWillBeError) { - if (p && l > 0) { - // preAmble could be a hard-coded string; make writable copy - // TODO: efficiency PP: make it not need writable strings - preambleLength = l; - preamble = new char[preambleLength + 1]; - memcpy(preamble, p, preambleLength + 1); // TODO: PP: assuming nul-terminated strings - ScanFromString(preamble); - currentString = -1; - } -} - -void TPpContext::setShaderStrings(char* s[], size_t l[], int n) -{ - strings = s; - lengths = l; - numStrings = n; - if (! preamble) { - ScanFromString(strings[0]); - currentString = 0; - } + StringInputSrc *in = (StringInputSrc *)malloc(sizeof(StringInputSrc)); + memset(in, 0, sizeof(StringInputSrc)); + in->input = &input; + in->base.scan = byte_scan; + in->base.getch = (int (*)(TPpContext*, InputSrc *, TPpToken *))str_getch; + in->base.ungetch = (void (*)(TPpContext*, InputSrc *, int, TPpToken *))str_ungetch; + in->base.prev = currentInput; + currentInput = &in->base; + errorOnVersion = versionWillBeError; } } // end namespace glslang diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h index b19d8141..d130408f 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/glslang/MachineIndependent/preprocessor/PpContext.h @@ -95,6 +95,8 @@ public: char name[maxTokenLength+1]; }; +class TInputScanner; + // This class is the result of turning a huge pile of C code communicating through globals // into a class. This was done to allowing instancing to attain thread safety. // Don't expect too much in terms of OO design. @@ -104,7 +106,7 @@ public: virtual ~TPpContext(); void setPreamble(const char* preamble, size_t length); - void setShaderStrings(char* strings[], size_t lengths[], int numStrings); + void setInput(TInputScanner& input, bool versionWillBeError); const char* tokenize(TPpToken* ppToken); @@ -113,8 +115,6 @@ public: int (*scan)(TPpContext*, struct InputSrc *, TPpToken *); int (*getch)(TPpContext*, struct InputSrc *, TPpToken *); void (*ungetch)(TPpContext*, struct InputSrc *, int, TPpToken *); - int name; /* atom */ - int line; }; struct TokenBlock { @@ -177,7 +177,6 @@ protected: // Scanner data: int mostRecentToken; // Most recent token seen by the scanner int previous_token; - bool notAVersionToken; // used to make sure that #version is the first token seen in the file, if present TParseContext& parseContext; static const int maxMacroArgs = 64; @@ -195,6 +194,7 @@ protected: }; InputSrc *currentInput; + bool errorOnVersion; // // from Pp.cpp @@ -289,7 +289,7 @@ protected: // struct StringInputSrc { InputSrc base; - char *p; + TInputScanner* input; }; int InitScanner(TPpContext *cpp); static int str_getch(TPpContext*, StringInputSrc *in); diff --git a/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/glslang/MachineIndependent/preprocessor/PpScanner.cpp index 98f1608e..1352deb3 100644 --- a/glslang/MachineIndependent/preprocessor/PpScanner.cpp +++ b/glslang/MachineIndependent/preprocessor/PpScanner.cpp @@ -88,23 +88,7 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "PpContext.h" #include "PpTokens.h" - -namespace { - -using namespace glslang; - -int eof_scan(TPpContext*, TPpContext::InputSrc*, TPpToken*) -{ - return EOF; -} - -void noop(TPpContext*, TPpContext::InputSrc *in, int ch, TPpToken * ppToken) -{ -} - -TPpContext::InputSrc eof_inputsrc = { 0, &eof_scan, &eof_scan, &noop }; - -} // end anonymous namespace +#include "Scan.h" namespace glslang { @@ -115,79 +99,26 @@ int TPpContext::InitScanner(TPpContext *cpp) return 0; mostRecentToken = 0; - currentInput = &eof_inputsrc; + currentInput = 0; previous_token = '\n'; - notAVersionToken = false; - - return 1; -} // InitScanner - -/* -* str_getch() -* takes care of reading from multiple strings. -* returns the next-char from the input stream. -* returns EOF when the complete shader is parsed. -*/ -int TPpContext::str_getch(TPpContext* pp, StringInputSrc *in) -{ - for(;;) { - if (*in->p) { - if (*in->p == '\n') { - in->base.line++; - ++pp->parseContext.currentLoc.line; - } - return *in->p++; - } - if (pp->currentString < 0) { - // we only parsed the built-in pre-amble; start with clean slate for user code - pp->notAVersionToken = false; - } - if (++(pp->currentString) < pp->numStrings) { - free(in); - pp->parseContext.currentLoc.string = pp->currentString; - pp->parseContext.currentLoc.line = 1; - pp->ScanFromString(pp->strings[pp->currentString]); - in=(StringInputSrc*)pp->currentInput; - continue; - } else { - pp->currentInput = in->base.prev; - pp->currentString = 0; - free(in); - return EOF; - } - } -} // str_getch - -void TPpContext::str_ungetch(TPpContext* pp, StringInputSrc *in, int ch, TPpToken *type) -{ - if (in->p[-1] == ch)in->p--; - else { - *(in->p)='\0'; //this would take care of shifting to the previous string. - pp->currentString--; - pp->parseContext.currentLoc.string = pp->currentString; - } - if (ch == '\n') { - in->base.line--; - --pp->parseContext.currentLoc.line; - } -} // str_ungetch - -int TPpContext::ScanFromString(char *s) -{ - - StringInputSrc *in = (StringInputSrc *)malloc(sizeof(StringInputSrc)); - memset(in, 0, sizeof(StringInputSrc)); - in->p = s; - in->base.line = 1; - in->base.scan = byte_scan; - in->base.getch = (int (*)(TPpContext*, InputSrc *, TPpToken *))str_getch; - in->base.ungetch = (void (*)(TPpContext*, InputSrc *, int, TPpToken *))str_ungetch; - in->base.prev = currentInput; - currentInput = &in->base; return 1; } +int TPpContext::str_getch(TPpContext* pp, StringInputSrc *in) +{ + int ch = in->input->get(); + + if (ch == EOF) + free(in); + + return ch; +} + +void TPpContext::str_ungetch(TPpContext* pp, StringInputSrc *in, int ch, TPpToken *type) +{ + in->input->unget(); +} /////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////// Floating point constants: ///////////////////////////////// @@ -332,7 +263,7 @@ int TPpContext::byte_scan(TPpContext* pp, InputSrc *in, TPpToken * ppToken) ch = pp->currentInput->getch(pp, pp->currentInput, ppToken); } - ppToken->loc = pp->parseContext.currentLoc; + ppToken->loc = pp->parseContext.getCurrentLoc(); len = 0; switch (ch) { default: @@ -696,6 +627,7 @@ int TPpContext::byte_scan(TPpContext* pp, InputSrc *in, TPpToken * ppToken) return '.'; } case '/': + // TODO: preprocessor: use the Scan.cpp comment scanner ch = pp->currentInput->getch(pp, pp->currentInput, ppToken); if (ch == '/') { do { @@ -801,8 +733,6 @@ const char* TPpContext::tokenize(TPpToken* ppToken) if (token == '\n') continue; - notAVersionToken = true; - // expand macros if (token == CPP_IDENTIFIER && MacroExpand(ppToken->atom, ppToken, 0) == 1) continue; @@ -831,7 +761,7 @@ int TPpContext::check_EOF(int token) { if (token == EOF) { if (ifdepth > 0) - parseContext.error(parseContext.currentLoc, "missing #endif", "#if", ""); + parseContext.error(parseContext.getCurrentLoc(), "missing #endif", "#if", ""); return 1; } return 0; diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp index 1b4455a8..00a47a2b 100644 --- a/glslang/MachineIndependent/preprocessor/PpTokens.cpp +++ b/glslang/MachineIndependent/preprocessor/PpTokens.cpp @@ -306,7 +306,7 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken) char ch; ltoken = lReadByte(pTok); - ppToken->loc = parseContext.currentLoc; + ppToken->loc = parseContext.getCurrentLoc(); if (ltoken >= 0) { if (ltoken > 127) ltoken += 128; @@ -399,12 +399,9 @@ int TPpContext::scan_token(TPpContext* pp, TokenInputSrc *in, TPpToken * ppToken { int token = pp->ReadToken(in->tokens, ppToken); int (*final)(TPpContext *); - if (token == '\n') { - in->base.line++; - return token; - } if (token > 0) return token; + pp->currentInput = in->base.prev; final = in->final; free(in); @@ -418,10 +415,8 @@ int TPpContext::ReadFromTokenStream(TokenStream *ts, int name, int (*final)(TPpC { TokenInputSrc *in = (TokenInputSrc *) malloc(sizeof(TokenInputSrc)); memset(in, 0, sizeof(TokenInputSrc)); - in->base.name = name; in->base.prev = currentInput; in->base.scan = (int (*)(TPpContext*, InputSrc*, TPpToken*))scan_token; - in->base.line = 1; in->tokens = ts; in->final = final; RewindTokenStream(ts); @@ -449,8 +444,6 @@ void TPpContext::UngetToken(int token, TPpToken * ppToken) t->lval = *ppToken; t->base.scan = (int(*)(TPpContext*, struct InputSrc *, TPpToken *))reget_token; t->base.prev = currentInput; - t->base.name = currentInput->name; - t->base.line = currentInput->line; currentInput = &t->base; } diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index 801d551c..2463ea2c 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -270,7 +270,7 @@ class TShader { public: explicit TShader(EShLanguage); virtual ~TShader(); - void setStrings(char** s, int n) { strings = s; numStrings = n; } + void setStrings(const char* const* s, int n) { strings = s; numStrings = n; } bool parse(const TBuiltInResource*, int defaultVersion, bool forwardCompatible, EShMessages); const char* getInfoLog(); const char* getInfoDebugLog(); @@ -280,7 +280,7 @@ protected: TCompiler* compiler; TIntermediate* intermediate; TInfoSink* infoSink; - char** strings; + const char* const* strings; int numStrings; friend class TProgram;