@galacean/engine-shader-compiler 2.0.0-alpha.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -0
  3. package/dist/browser.js +8720 -0
  4. package/dist/browser.js.map +1 -0
  5. package/dist/browser.min.js +2 -0
  6. package/dist/browser.min.js.map +1 -0
  7. package/dist/browser.verbose.js +9385 -0
  8. package/dist/browser.verbose.js.map +1 -0
  9. package/dist/browser.verbose.min.js +2 -0
  10. package/dist/browser.verbose.min.js.map +1 -0
  11. package/dist/bundler/cli.js +339 -0
  12. package/dist/bundler/rollup.cjs.js +366 -0
  13. package/dist/bundler/rollup.js +339 -0
  14. package/dist/main.js +8717 -0
  15. package/dist/main.js.map +1 -0
  16. package/dist/main.verbose.js +9382 -0
  17. package/dist/main.verbose.js.map +1 -0
  18. package/dist/module.js +8710 -0
  19. package/dist/module.js.map +1 -0
  20. package/dist/module.verbose.js +9375 -0
  21. package/dist/module.verbose.js.map +1 -0
  22. package/package.json +63 -0
  23. package/types/GSError.d.ts +16 -0
  24. package/types/ParserUtils.d.ts +26 -0
  25. package/types/Preprocessor.d.ts +33 -0
  26. package/types/ShaderCompiler.d.ts +21 -0
  27. package/types/ShaderCompilerUtils.d.ts +10 -0
  28. package/types/ShaderInstructionEncoder.d.ts +1 -0
  29. package/types/TempArray.d.ts +5 -0
  30. package/types/bundler/cli.d.ts +1 -0
  31. package/types/bundler/precompile.d.ts +25 -0
  32. package/types/bundler/rollup.d.ts +41 -0
  33. package/types/codeGen/CodeGenVisitor.d.ts +1 -0
  34. package/types/codeGen/GLES100.d.ts +12 -0
  35. package/types/codeGen/GLES300.d.ts +20 -0
  36. package/types/codeGen/GLESVisitor.d.ts +1 -0
  37. package/types/codeGen/VisitorContext.d.ts +2 -0
  38. package/types/codeGen/index.d.ts +3 -0
  39. package/types/codeGen/types.d.ts +12 -0
  40. package/types/common/BaseLexer.d.ts +2 -0
  41. package/types/common/BaseToken.d.ts +35 -0
  42. package/types/common/IBaseSymbol.d.ts +5 -0
  43. package/types/common/ShaderPosition.d.ts +8 -0
  44. package/types/common/ShaderRange.d.ts +8 -0
  45. package/types/common/SymbolTable.d.ts +9 -0
  46. package/types/common/SymbolTableStack.d.ts +13 -0
  47. package/types/common/enums/Keyword.d.ts +124 -0
  48. package/types/common/enums/ShaderStage.d.ts +5 -0
  49. package/types/common/index.d.ts +5 -0
  50. package/types/common/types.d.ts +101 -0
  51. package/types/index.d.ts +3 -0
  52. package/types/lalr/CFG.d.ts +5 -0
  53. package/types/lalr/LALR1.d.ts +26 -0
  54. package/types/lalr/Production.d.ts +9 -0
  55. package/types/lalr/State.d.ts +20 -0
  56. package/types/lalr/StateItem.d.ts +20 -0
  57. package/types/lalr/Utils.d.ts +22 -0
  58. package/types/lalr/index.d.ts +2 -0
  59. package/types/lalr/types.d.ts +14 -0
  60. package/types/lexer/Lexer.d.ts +111 -0
  61. package/types/lexer/index.d.ts +1 -0
  62. package/types/parser/AST.d.ts +482 -0
  63. package/types/parser/Grammar.d.ts +11 -0
  64. package/types/parser/GrammarSymbol.d.ts +128 -0
  65. package/types/parser/SemanticAnalyzer.d.ts +2 -0
  66. package/types/parser/ShaderInfo.d.ts +10 -0
  67. package/types/parser/ShaderTargetParser.d.ts +24 -0
  68. package/types/parser/builtin/functions.d.ts +34 -0
  69. package/types/parser/builtin/index.d.ts +2 -0
  70. package/types/parser/builtin/variables.d.ts +11 -0
  71. package/types/parser/index.d.ts +2 -0
  72. package/types/parser/symbolTable/FnSymbol.d.ts +6 -0
  73. package/types/parser/symbolTable/StructSymbol.d.ts +6 -0
  74. package/types/parser/symbolTable/SymbolDataType.d.ts +8 -0
  75. package/types/parser/symbolTable/SymbolInfo.d.ts +22 -0
  76. package/types/parser/symbolTable/VarSymbol.d.ts +8 -0
  77. package/types/parser/symbolTable/index.d.ts +6 -0
  78. package/types/parser/types.d.ts +24 -0
  79. package/types/sourceParser/ShaderSourceFactory.d.ts +8 -0
  80. package/types/sourceParser/ShaderSourceParser.d.ts +1 -0
  81. package/types/sourceParser/ShaderSourceSymbol.d.ts +10 -0
  82. package/types/sourceParser/SourceLexer.d.ts +19 -0
  83. package/types/sourceParser/index.d.ts +1 -0
  84. package/verbose/package.json +11 -0
@@ -0,0 +1,11 @@
1
+ import { GalaceanDataType } from "../../common";
2
+ import { EShaderStage } from "../../common/enums/ShaderStage";
3
+ export declare const BuiltinVariableTable: Map<string, BuiltinVariable>;
4
+ export declare class BuiltinVariable {
5
+ type: GalaceanDataType;
6
+ lexeme: string;
7
+ scope: EShaderStage;
8
+ private constructor();
9
+ static createVariable(lexeme: string, type: GalaceanDataType, scope?: EShaderStage): void;
10
+ static getVar(ident: string): BuiltinVariable;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { ShaderTargetParser } from "./ShaderTargetParser";
2
+ export { Grammar } from "./Grammar";
@@ -0,0 +1,6 @@
1
+ import { ASTNode } from "../AST";
2
+ import { SymbolInfo } from "./SymbolInfo";
3
+ export declare class FnSymbol extends SymbolInfo {
4
+ astNode: ASTNode.FunctionDefinition;
5
+ constructor(lexeme: string, astNode: ASTNode.FunctionDefinition);
6
+ }
@@ -0,0 +1,6 @@
1
+ import { ASTNode } from "../AST";
2
+ import { SymbolInfo } from "./SymbolInfo";
3
+ export declare class StructSymbol extends SymbolInfo {
4
+ astNode: ASTNode.StructSpecifier;
5
+ constructor(lexeme: string, astNode: ASTNode.StructSpecifier);
6
+ }
@@ -0,0 +1,8 @@
1
+ import { GalaceanDataType } from "../../common";
2
+ import { ASTNode } from "../AST";
3
+ export declare class SymbolDataType {
4
+ type: GalaceanDataType;
5
+ typeLexeme: string;
6
+ arraySpecifier?: ASTNode.ArraySpecifier;
7
+ constructor(type: GalaceanDataType, typeLexeme: string, arraySpecifier?: ASTNode.ArraySpecifier);
8
+ }
@@ -0,0 +1,22 @@
1
+ import { IBaseSymbol } from "../../common/IBaseSymbol";
2
+ import { GalaceanDataType } from "../../common/types";
3
+ import { ASTNode } from "../AST";
4
+ import { SymbolDataType } from "./SymbolDataType";
5
+ export declare enum ESymbolType {
6
+ VAR = 0,
7
+ FN = 1,
8
+ STRUCT = 2,
9
+ Any = 3
10
+ }
11
+ export type SymbolAstNode = ASTNode.Initializer | ASTNode.StructSpecifier | ASTNode.FunctionDefinition | ASTNode.ParameterDeclarator | ASTNode.InitDeclaratorList | ASTNode.VariableDeclaration;
12
+ export declare class SymbolInfo implements IBaseSymbol {
13
+ ident: string;
14
+ type: ESymbolType;
15
+ astNode?: SymbolAstNode;
16
+ dataType?: SymbolDataType;
17
+ paramSignature?: GalaceanDataType[];
18
+ isInMacroBranch: boolean;
19
+ constructor(ident: string, type: ESymbolType, astNode?: SymbolAstNode, dataType?: SymbolDataType, paramSignature?: GalaceanDataType[], isInMacroBranch?: boolean);
20
+ set(ident: string, symbolType: ESymbolType, astNode?: SymbolAstNode, dataType?: SymbolDataType, paramSignature?: GalaceanDataType[]): void;
21
+ equal(symbol: SymbolInfo): boolean;
22
+ }
@@ -0,0 +1,8 @@
1
+ import { ASTNode } from "../AST";
2
+ import { SymbolDataType } from "./SymbolDataType";
3
+ import { SymbolInfo } from "./SymbolInfo";
4
+ export declare class VarSymbol extends SymbolInfo {
5
+ astNode: ASTNode.Initializer | ASTNode.ParameterDeclarator | ASTNode.InitDeclaratorList | ASTNode.VariableDeclaration;
6
+ readonly isGlobalVariable: boolean;
7
+ constructor(ident: string, dataType: SymbolDataType, isGlobalVariable: boolean, initAst: ASTNode.Initializer | ASTNode.ParameterDeclarator | ASTNode.InitDeclaratorList | ASTNode.VariableDeclaration);
8
+ }
@@ -0,0 +1,6 @@
1
+ export * from "././../../common/SymbolTable";
2
+ export * from "./FnSymbol";
3
+ export * from "./StructSymbol";
4
+ export * from "./SymbolDataType";
5
+ export * from "./SymbolInfo";
6
+ export * from "./VarSymbol";
@@ -0,0 +1,24 @@
1
+ import { GalaceanDataType } from "../common";
2
+ import { BaseToken } from "../common/BaseToken";
3
+ import { ASTNode, TreeNode } from "./AST";
4
+ import { NoneTerminal } from "./GrammarSymbol";
5
+ export type TraceStackItem = NoneTerminal | BaseToken;
6
+ export declare class SymbolType {
7
+ type: GalaceanDataType;
8
+ typeLexeme: string;
9
+ arraySpecifier?: ASTNode.ArraySpecifier;
10
+ constructor(type: GalaceanDataType, typeLexeme: string, arraySpecifier?: ASTNode.ArraySpecifier);
11
+ }
12
+ export declare class StructProp implements IParamInfo {
13
+ typeInfo: SymbolType;
14
+ ident: BaseToken;
15
+ mrtIndex?: number;
16
+ isInMacroBranch: boolean;
17
+ constructor(typeInfo: SymbolType, ident: BaseToken, mrtIndex?: number, isInMacroBranch?: boolean);
18
+ }
19
+ export type NodeChild = TreeNode | BaseToken;
20
+ export type IParamInfo = {
21
+ ident?: BaseToken;
22
+ typeInfo?: SymbolType;
23
+ astNode?: ASTNode.ParameterDeclaration | ASTNode.MacroParamBlock;
24
+ };
@@ -0,0 +1,8 @@
1
+ import type { IRenderStates, IShaderPassSource, IShaderSource, ISubShaderSource } from "@galacean/engine-design";
2
+ export declare class ShaderSourceFactory {
3
+ static createRenderStates(): IRenderStates;
4
+ static createShaderSource(name: string): IShaderSource;
5
+ static createSubShaderSource(name: string): ISubShaderSource;
6
+ static createShaderPassSource(name: string): IShaderPassSource;
7
+ static createUsePass(name: string): IShaderPassSource;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import { IBaseSymbol } from "../common/IBaseSymbol";
2
+ export declare class ShaderSourceSymbol implements IBaseSymbol {
3
+ ident: string;
4
+ type: number;
5
+ value?: any;
6
+ isInMacroBranch: boolean;
7
+ constructor(ident: string, type: number, value?: any);
8
+ set(ident: string, type: number, value?: any): void;
9
+ equal(other: ShaderSourceSymbol): boolean;
10
+ }
@@ -0,0 +1,19 @@
1
+ import { Color } from "@galacean/engine-math";
2
+ import { ShaderPosition, ShaderRange } from "../common";
3
+ import { BaseLexer } from "../common/BaseLexer";
4
+ import { BaseToken } from "../common/BaseToken";
5
+ export default class SourceLexer extends BaseLexer {
6
+ hasPendingContent: boolean;
7
+ private static _keywordLexemeTable;
8
+ private static _symbolLexemeTable;
9
+ private static _isWordSeparatorChar;
10
+ private static _scanDigits;
11
+ scanNumber(): number;
12
+ scanColor(): Color;
13
+ scanToken(): BaseToken;
14
+ scanToCharacter(char: string): void;
15
+ createCompileError(message: string, location?: ShaderPosition | ShaderRange): Error;
16
+ private _scanWord;
17
+ private _validateWordBoundaries;
18
+ private _isValidWordBoundary;
19
+ }
@@ -0,0 +1 @@
1
+ export { ShaderSourceParser } from "./ShaderSourceParser";
@@ -0,0 +1,11 @@
1
+ {
2
+ "license": "MIT",
3
+ "main": "../dist/main.verbose.js",
4
+ "module": "../dist/module.verbose.js",
5
+ "browser": "../dist/browser.verbose.min.js",
6
+ "debug": "../src/index.ts",
7
+ "types": "../types/index.d.ts",
8
+ "umd": {
9
+ "name": "Galacean.ShaderCompiler"
10
+ }
11
+ }