@irrelon/battlescript 4.0.1 → 5.0.0

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 (139) hide show
  1. package/bin/functionality.ts +65 -1
  2. package/bin/index.js +16436 -14825
  3. package/bin/index.js.map +1 -1
  4. package/bin/index.ts +20 -3
  5. package/dist/bin/functionality.cjs +16357 -14731
  6. package/dist/bin/functionality.cjs.map +1 -1
  7. package/dist/bin/functionality.d.ts +4 -0
  8. package/dist/bin/functionality.d.ts.map +1 -1
  9. package/dist/bin/{functionality.js → functionality.mjs} +16357 -14733
  10. package/dist/bin/functionality.mjs.map +1 -0
  11. package/dist/bin/index.d.ts +2 -2
  12. package/dist/bin/index.d.ts.map +1 -1
  13. package/dist/exports/typescript/enums/EnumNodeKind.d.ts +4 -1
  14. package/dist/exports/typescript/enums/EnumNodeKind.d.ts.map +1 -1
  15. package/dist/exports/typescript/enums/EnumNodeProp.d.ts +60 -54
  16. package/dist/exports/typescript/enums/EnumNodeProp.d.ts.map +1 -1
  17. package/dist/exports/typescript/enums/EnumOperator.d.ts +7 -4
  18. package/dist/exports/typescript/enums/EnumOperator.d.ts.map +1 -1
  19. package/dist/exports/typescript/helpers/miniAstLayout.d.ts.map +1 -1
  20. package/dist/index.cjs +16568 -14962
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.mjs +16555 -14963
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/nativeLibraries/index.d.ts.map +1 -1
  25. package/dist/nativeLibraries/time/index.d.ts +1 -1
  26. package/dist/services/cppGenerator/ProtocolToCpp.d.ts +71 -0
  27. package/dist/services/cppGenerator/ProtocolToCpp.d.ts.map +1 -0
  28. package/dist/services/cppGenerator/index.d.ts +2 -0
  29. package/dist/services/cppGenerator/index.d.ts.map +1 -0
  30. package/dist/services/fullAst/BattleScriptFromAST.d.ts +11 -1
  31. package/dist/services/fullAst/BattleScriptFromAST.d.ts.map +1 -1
  32. package/dist/services/fullAst/BattleScriptToAST.d.ts +7 -4
  33. package/dist/services/fullAst/BattleScriptToAST.d.ts.map +1 -1
  34. package/dist/services/fullAst/index.d.ts +1 -0
  35. package/dist/services/fullAst/index.d.ts.map +1 -1
  36. package/dist/services/fullAst/normaliseFormatting.d.ts +9 -0
  37. package/dist/services/fullAst/normaliseFormatting.d.ts.map +1 -0
  38. package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts +85 -81
  39. package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts.map +1 -1
  40. package/dist/services/grammar/ts/language/BattleScriptListener.d.ts +49 -5
  41. package/dist/services/grammar/ts/language/BattleScriptListener.d.ts.map +1 -1
  42. package/dist/services/grammar/ts/language/BattleScriptParser.d.ts +245 -185
  43. package/dist/services/grammar/ts/language/BattleScriptParser.d.ts.map +1 -1
  44. package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts +31 -3
  45. package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts.map +1 -1
  46. package/dist/services/index.d.ts +1 -0
  47. package/dist/services/index.d.ts.map +1 -1
  48. package/dist/services/miniAst/BattleScriptToMiniAST.d.ts.map +1 -1
  49. package/dist/services/miniAst/miniAstLayout.d.ts.map +1 -1
  50. package/dist/services/parser.d.ts +2 -2
  51. package/dist/services/parser.d.ts.map +1 -1
  52. package/dist/services/utils.d.ts +10 -0
  53. package/dist/services/utils.d.ts.map +1 -1
  54. package/dist/tests/ast/compoundAssignment.test.d.ts +2 -0
  55. package/dist/tests/ast/compoundAssignment.test.d.ts.map +1 -0
  56. package/dist/tests/ast/hex-literal.test.d.ts +2 -0
  57. package/dist/tests/ast/hex-literal.test.d.ts.map +1 -0
  58. package/dist/tests/ast/number-literal.test.d.ts +2 -0
  59. package/dist/tests/ast/number-literal.test.d.ts.map +1 -0
  60. package/dist/tests/miniAst/ordering.test.d.ts +2 -0
  61. package/dist/tests/miniAst/ordering.test.d.ts.map +1 -0
  62. package/dist/tsconfig.types.tsbuildinfo +1 -1
  63. package/dist/types/BattleScriptDiagnostic.d.ts +19 -0
  64. package/dist/types/BattleScriptDiagnostic.d.ts.map +1 -0
  65. package/dist/types/BattleScriptTransformerOptions.d.ts +7 -0
  66. package/dist/types/BattleScriptTransformerOptions.d.ts.map +1 -1
  67. package/dist/types/VisitOptions.d.ts +6 -0
  68. package/dist/types/VisitOptions.d.ts.map +1 -1
  69. package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts +6 -0
  70. package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts.map +1 -1
  71. package/dist/types/ast/nodes/AssignmentPatternNode.d.ts.map +1 -1
  72. package/dist/types/ast/nodes/AstNode.d.ts +2 -2
  73. package/dist/types/ast/nodes/AstNode.d.ts.map +1 -1
  74. package/dist/types/ast/nodes/AstNodeBase.d.ts +7 -0
  75. package/dist/types/ast/nodes/AstNodeBase.d.ts.map +1 -1
  76. package/dist/types/ast/nodes/CancelStatementNode.d.ts.map +1 -1
  77. package/dist/types/ast/nodes/CatchStatementNode.d.ts.map +1 -1
  78. package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts.map +1 -1
  79. package/dist/types/ast/nodes/EveryExpressionNode.d.ts +1 -0
  80. package/dist/types/ast/nodes/EveryExpressionNode.d.ts.map +1 -1
  81. package/dist/types/ast/nodes/ExportNamedDeclarationNode.d.ts +2 -4
  82. package/dist/types/ast/nodes/ExportNamedDeclarationNode.d.ts.map +1 -1
  83. package/dist/types/ast/nodes/ExportSpecifierNode.d.ts +2 -4
  84. package/dist/types/ast/nodes/ExportSpecifierNode.d.ts.map +1 -1
  85. package/dist/types/ast/nodes/ExpressionStatementNode.d.ts.map +1 -1
  86. package/dist/types/ast/nodes/ForwardStatementNode.d.ts +2 -0
  87. package/dist/types/ast/nodes/ForwardStatementNode.d.ts.map +1 -1
  88. package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts.map +1 -1
  89. package/dist/types/ast/nodes/IdentifierNode.d.ts +2 -2
  90. package/dist/types/ast/nodes/IdentifierNode.d.ts.map +1 -1
  91. package/dist/types/ast/nodes/IfStatementNode.d.ts.map +1 -1
  92. package/dist/types/ast/nodes/ImportDeclarationNode.d.ts.map +1 -1
  93. package/dist/types/ast/nodes/ImportSpecifierNode.d.ts +2 -4
  94. package/dist/types/ast/nodes/ImportSpecifierNode.d.ts.map +1 -1
  95. package/dist/types/ast/nodes/InterfaceNode.d.ts.map +1 -1
  96. package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts.map +1 -1
  97. package/dist/types/ast/nodes/LiteralIntNode.d.ts +10 -0
  98. package/dist/types/ast/nodes/LiteralIntNode.d.ts.map +1 -1
  99. package/dist/types/ast/nodes/ObjectExpressionNode.d.ts +9 -2
  100. package/dist/types/ast/nodes/ObjectExpressionNode.d.ts.map +1 -1
  101. package/dist/types/ast/nodes/OffsetStatementNode.d.ts +2 -0
  102. package/dist/types/ast/nodes/OffsetStatementNode.d.ts.map +1 -1
  103. package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts.map +1 -1
  104. package/dist/types/ast/nodes/ParityDeclarationNode.d.ts.map +1 -1
  105. package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts.map +1 -1
  106. package/dist/types/ast/nodes/ProtocolDeclarationNode.d.ts.map +1 -1
  107. package/dist/types/ast/nodes/ProtocolReadTypeNode.d.ts +2 -0
  108. package/dist/types/ast/nodes/ProtocolReadTypeNode.d.ts.map +1 -1
  109. package/dist/types/ast/nodes/ProtocolTypeNode.d.ts +2 -0
  110. package/dist/types/ast/nodes/ProtocolTypeNode.d.ts.map +1 -1
  111. package/dist/types/ast/nodes/RestElementNode.d.ts.map +1 -1
  112. package/dist/types/ast/nodes/ResumeStatementNode.d.ts +11 -0
  113. package/dist/types/ast/nodes/ResumeStatementNode.d.ts.map +1 -0
  114. package/dist/types/ast/nodes/ReturnStatementNode.d.ts.map +1 -1
  115. package/dist/types/ast/nodes/RewindStatementNode.d.ts +2 -0
  116. package/dist/types/ast/nodes/RewindStatementNode.d.ts.map +1 -1
  117. package/dist/types/ast/nodes/RuleStatementNode.d.ts +4 -0
  118. package/dist/types/ast/nodes/RuleStatementNode.d.ts.map +1 -1
  119. package/dist/types/ast/nodes/StartStatementNode.d.ts +11 -0
  120. package/dist/types/ast/nodes/StartStatementNode.d.ts.map +1 -0
  121. package/dist/types/ast/nodes/StateDeclarationNode.d.ts.map +1 -1
  122. package/dist/types/ast/nodes/StateModuleDeclarationNode.d.ts.map +1 -1
  123. package/dist/types/ast/nodes/StateModuleEventDeclarationNode.d.ts.map +1 -1
  124. package/dist/types/ast/nodes/StepDeclarationNode.d.ts.map +1 -1
  125. package/dist/types/ast/nodes/StopStatementNode.d.ts +11 -0
  126. package/dist/types/ast/nodes/StopStatementNode.d.ts.map +1 -0
  127. package/dist/types/ast/nodes/VariableDeclarationNode.d.ts.map +1 -1
  128. package/dist/types/ast/nodes/index.d.ts +3 -0
  129. package/dist/types/ast/nodes/index.d.ts.map +1 -1
  130. package/dist/types/ast/operators/ArithmaticOperator.d.ts +1 -1
  131. package/dist/types/ast/operators/ArithmaticOperator.d.ts.map +1 -1
  132. package/dist/types/ast/operators/OtherOperator.d.ts +1 -1
  133. package/dist/types/ast/operators/OtherOperator.d.ts.map +1 -1
  134. package/dist/types/ast/unions/ProtocolBodyUnion.d.ts +2 -2
  135. package/dist/types/ast/unions/ProtocolBodyUnion.d.ts.map +1 -1
  136. package/dist/types/index.d.ts +1 -0
  137. package/dist/types/index.d.ts.map +1 -1
  138. package/package.json +6 -4
  139. package/dist/bin/functionality.js.map +0 -1
package/bin/index.ts CHANGED
@@ -7,9 +7,11 @@ import {
7
7
  miniAstToBinary,
8
8
  toAst,
9
9
  toBinary,
10
- toMiniAst
10
+ toMiniAst,
11
+ toCpp
11
12
  } from "@/bin/functionality";
12
13
  import {version} from "../package.json";
14
+ import {dirname} from "path";
13
15
 
14
16
  async function main() {
15
17
  console.log(`[BattleScript ${version}]`);
@@ -108,8 +110,22 @@ async function main() {
108
110
  return;
109
111
  }
110
112
 
113
+ if (command === "toCpp") {
114
+ if (args.length < 2) {
115
+ console.error("Usage:\tnpx @irrelon/battlescript toCpp <input file> [output directory]");
116
+ console.error("\te.g. npx @irrelon/battlescript toCpp ./examples/protocol_p2p.bst ./output/");
117
+ console.error("\nGenerates optimized C++ encode/decode functions from a BattleScript protocol file.");
118
+ console.error("Output files will be named based on the protocol name (e.g., p2p.h and p2p.cpp).");
119
+ process.exit(1);
120
+ }
121
+
122
+ const outputDir = args[2] || dirname(inputFile);
123
+ await toCpp(inputFile, outputDir);
124
+ return;
125
+ }
126
+
111
127
  console.error("Unknown command %s", command);
112
- console.info("Available commands: toAst, fromAst, toMiniAst, fromMiniAst, fromMiniAstToSource, toBinary, fromBinary, miniAstToBinary");
128
+ console.info("Available commands: toAst, fromAst, toMiniAst, fromMiniAst, toBinary, fromBinary, miniAstToBinary, toCpp");
113
129
  process.exit(1);
114
130
  }
115
131
 
@@ -126,5 +142,6 @@ export {
126
142
  miniAstToBinary,
127
143
  toAst,
128
144
  toBinary,
129
- toMiniAst
145
+ toMiniAst,
146
+ toCpp
130
147
  };