d
This commit is contained in:
@@ -8,13 +8,11 @@
|
|||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
1F083A14C69F20A6BA92A63E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F16A7DD61EF6CD4FB4E3DE25 /* AppDelegate.swift */; };
|
1F083A14C69F20A6BA92A63E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F16A7DD61EF6CD4FB4E3DE25 /* AppDelegate.swift */; };
|
||||||
248FA3B7A82DA60E6892F821 /* memorySpace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490862345F009401FB4E1199 /* memorySpace.swift */; };
|
|
||||||
3D03666F3BC2B1F2CBB49530 /* Main.SectionSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */; };
|
3D03666F3BC2B1F2CBB49530 /* Main.SectionSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */; };
|
||||||
3EA747EF132EF00B60CE3BA8 /* memorySide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17E6ABD013AB08F7DF11C069 /* memorySide.swift */; };
|
|
||||||
79FB208C9DADDA6179E588C3 /* Main.SectionGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AC22F19366076CF4168BFBD /* Main.SectionGrid.swift */; };
|
79FB208C9DADDA6179E588C3 /* Main.SectionGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AC22F19366076CF4168BFBD /* Main.SectionGrid.swift */; };
|
||||||
7B6D5211C387213AE05C080F /* memoryGap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9994AEAC20F4AB2DA70C9840 /* memoryGap.swift */; };
|
|
||||||
89086E3972F560A9A1A76CE4 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C71EDBDFFDBC96F6E8E7762 /* Model.swift */; };
|
89086E3972F560A9A1A76CE4 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C71EDBDFFDBC96F6E8E7762 /* Model.swift */; };
|
||||||
B19B3998FA2BA651ACB1E53C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C1742EFC5A1E818780679340 /* Assets.xcassets */; };
|
B19B3998FA2BA651ACB1E53C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C1742EFC5A1E818780679340 /* Assets.xcassets */; };
|
||||||
|
BE2994BF2FFF272E62883953 /* swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = D414A6174931F533B0B286E8 /* swift.swift */; };
|
||||||
CAFD870CA84084E45011CC23 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4E32B0495E4BCEA4EE0508D4 /* LaunchScreen.storyboard */; };
|
CAFD870CA84084E45011CC23 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4E32B0495E4BCEA4EE0508D4 /* LaunchScreen.storyboard */; };
|
||||||
D505E64F4CD6EAEB530BF851 /* Main.Section16Buttons.swift in Sources */ = {isa = PBXBuildFile; fileRef = A38A1AA6B57483F6B44CDF78 /* Main.Section16Buttons.swift */; };
|
D505E64F4CD6EAEB530BF851 /* Main.Section16Buttons.swift in Sources */ = {isa = PBXBuildFile; fileRef = A38A1AA6B57483F6B44CDF78 /* Main.Section16Buttons.swift */; };
|
||||||
DB1010B8A246D47BEC6B3FA6 /* Main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DF762100A8EDF105B6E136D /* Main.swift */; };
|
DB1010B8A246D47BEC6B3FA6 /* Main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DF762100A8EDF105B6E136D /* Main.swift */; };
|
||||||
@@ -23,30 +21,26 @@
|
|||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
0DF762100A8EDF105B6E136D /* Main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.swift; sourceTree = "<group>"; };
|
0DF762100A8EDF105B6E136D /* Main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.swift; sourceTree = "<group>"; };
|
||||||
17E6ABD013AB08F7DF11C069 /* memorySide.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = memorySide.swift; sourceTree = "<group>"; };
|
|
||||||
490862345F009401FB4E1199 /* memorySpace.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = memorySpace.swift; sourceTree = "<group>"; };
|
|
||||||
4E32B0495E4BCEA4EE0508D4 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
|
4E32B0495E4BCEA4EE0508D4 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.SectionSelection.swift; sourceTree = "<group>"; };
|
6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.SectionSelection.swift; sourceTree = "<group>"; };
|
||||||
9994AEAC20F4AB2DA70C9840 /* memoryGap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = memoryGap.swift; sourceTree = "<group>"; };
|
|
||||||
9AC22F19366076CF4168BFBD /* Main.SectionGrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.SectionGrid.swift; sourceTree = "<group>"; };
|
9AC22F19366076CF4168BFBD /* Main.SectionGrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.SectionGrid.swift; sourceTree = "<group>"; };
|
||||||
9C71EDBDFFDBC96F6E8E7762 /* Model.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = "<group>"; };
|
9C71EDBDFFDBC96F6E8E7762 /* Model.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = "<group>"; };
|
||||||
9D774FEE86833E8A0A74387C /* App.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
9D774FEE86833E8A0A74387C /* App.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
A355A898E25602F45B88CCBA /* Main.Platform.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.Platform.swift; sourceTree = "<group>"; };
|
A355A898E25602F45B88CCBA /* Main.Platform.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.Platform.swift; sourceTree = "<group>"; };
|
||||||
A38A1AA6B57483F6B44CDF78 /* Main.Section16Buttons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.Section16Buttons.swift; sourceTree = "<group>"; };
|
A38A1AA6B57483F6B44CDF78 /* Main.Section16Buttons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.Section16Buttons.swift; sourceTree = "<group>"; };
|
||||||
C1742EFC5A1E818780679340 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
C1742EFC5A1E818780679340 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
|
D414A6174931F533B0B286E8 /* swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = swift.swift; sourceTree = "<group>"; };
|
||||||
F16A7DD61EF6CD4FB4E3DE25 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
F16A7DD61EF6CD4FB4E3DE25 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
44681273C081F5991624384F /* Swift */ = {
|
4F93BC5459F4AF4391816D4A /* shared */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
9994AEAC20F4AB2DA70C9840 /* memoryGap.swift */,
|
D414A6174931F533B0B286E8 /* swift.swift */,
|
||||||
17E6ABD013AB08F7DF11C069 /* memorySide.swift */,
|
|
||||||
490862345F009401FB4E1199 /* memorySpace.swift */,
|
|
||||||
);
|
);
|
||||||
name = Swift;
|
name = shared;
|
||||||
path = ../../shared/Swift;
|
path = ../../shared;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
667BC26EA8068A9FA707FC02 /* src */ = {
|
667BC26EA8068A9FA707FC02 /* src */ = {
|
||||||
@@ -77,8 +71,8 @@
|
|||||||
CD7F0F0C9CA1BA5EAFD5CA09 = {
|
CD7F0F0C9CA1BA5EAFD5CA09 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4F93BC5459F4AF4391816D4A /* shared */,
|
||||||
667BC26EA8068A9FA707FC02 /* src */,
|
667BC26EA8068A9FA707FC02 /* src */,
|
||||||
44681273C081F5991624384F /* Swift */,
|
|
||||||
AE7B74413EC292E802CC5C70 /* Products */,
|
AE7B74413EC292E802CC5C70 /* Products */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -152,9 +146,7 @@
|
|||||||
3D03666F3BC2B1F2CBB49530 /* Main.SectionSelection.swift in Sources */,
|
3D03666F3BC2B1F2CBB49530 /* Main.SectionSelection.swift in Sources */,
|
||||||
DB1010B8A246D47BEC6B3FA6 /* Main.swift in Sources */,
|
DB1010B8A246D47BEC6B3FA6 /* Main.swift in Sources */,
|
||||||
89086E3972F560A9A1A76CE4 /* Model.swift in Sources */,
|
89086E3972F560A9A1A76CE4 /* Model.swift in Sources */,
|
||||||
7B6D5211C387213AE05C080F /* memoryGap.swift in Sources */,
|
BE2994BF2FFF272E62883953 /* swift.swift in Sources */,
|
||||||
3EA747EF132EF00B60CE3BA8 /* memorySide.swift in Sources */,
|
|
||||||
248FA3B7A82DA60E6892F821 /* memorySpace.swift in Sources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
@@ -8,7 +8,7 @@ targets:
|
|||||||
deploymentTarget: "16.0"
|
deploymentTarget: "16.0"
|
||||||
sources:
|
sources:
|
||||||
- path: "../src"
|
- path: "../src"
|
||||||
- path: "../../shared/Swift"
|
- path: "../../shared/swift.swift"
|
||||||
settings:
|
settings:
|
||||||
base:
|
base:
|
||||||
INFOPLIST_FILE: Info.plist
|
INFOPLIST_FILE: Info.plist
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
SCRIPT_DIR=$(cd "$(dirname "$0")" ; pwd -P)
|
SCRIPT_DIR=$(cd "$(dirname "$0")" ; pwd -P)
|
||||||
|
|
||||||
tsc $SCRIPT_DIR/typeScript.ts --outfile $SCRIPT_DIR/javaScript.js
|
tsc $SCRIPT_DIR/typeScript.ts --outfile $SCRIPT_DIR/javaScript.js
|
||||||
#$SCRIPT_DIR/../toSwift $SCRIPT_DIR/typeScript.ts $SCRIPT_DIR/swift.swift
|
$SCRIPT_DIR/../toSwift $SCRIPT_DIR/typeScript.ts $SCRIPT_DIR/swift.swift
|
||||||
|
|
||||||
|
|||||||
32
shared/swift.swift
Normal file
32
shared/swift.swift
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
protocol Context {
|
||||||
|
var itemsCount: Float { get }
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol Position {
|
||||||
|
var x: Float { get }
|
||||||
|
var y: Float { get }
|
||||||
|
}
|
||||||
|
|
||||||
|
func memoryGap() -> Float {
|
||||||
|
return memorySide() + memorySpace()
|
||||||
|
}
|
||||||
|
|
||||||
|
func memorySide() -> Float {
|
||||||
|
return 50
|
||||||
|
}
|
||||||
|
|
||||||
|
func memorySpace() -> Float {
|
||||||
|
return 20
|
||||||
|
}
|
||||||
|
|
||||||
|
func memoryItemPositions(c: Context) -> [Position] {
|
||||||
|
var pos: [Position] = []
|
||||||
|
for (var i = 0; i < c.itemsCount; i++) {
|
||||||
|
let row = Math.floor(i / 4)
|
||||||
|
let x = memoryGap() + (i - row * 4) * memoryGap()
|
||||||
|
let y = memoryGap() + row * memoryGap()
|
||||||
|
// @ts-ignore
|
||||||
|
pos.push(memoryCreatePosition(x, y))
|
||||||
|
}
|
||||||
|
return pos
|
||||||
|
}
|
||||||
23
toSwift
23
toSwift
@@ -39,6 +39,7 @@ function convert(line) {
|
|||||||
result = result.replace(src, dst);
|
result = result.replace(src, dst);
|
||||||
}
|
}
|
||||||
result = protocolReplace(result);
|
result = protocolReplace(result);
|
||||||
|
result = typeArrayReplace(result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +52,6 @@ function protocolReplace(line) {
|
|||||||
if (line == "}") {
|
if (line == "}") {
|
||||||
isProtocol = false;
|
isProtocol = false;
|
||||||
}
|
}
|
||||||
console.log("ИГР protocolR-1 isP/line:", isProtocol, line);
|
|
||||||
if (!isProtocol) {
|
if (!isProtocol) {
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,6 @@ function protocolReplace(line) {
|
|||||||
if (isProtocol) {
|
if (isProtocol) {
|
||||||
result = protocolReplaceVariable(result);
|
result = protocolReplaceVariable(result);
|
||||||
}
|
}
|
||||||
console.log("ИГР protocolR-2 isP/line:", isProtocol, line);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,8 +70,26 @@ function protocolReplaceVariable(line) {
|
|||||||
let name = parts[0].trim();
|
let name = parts[0].trim();
|
||||||
let spaceLength = parts[0].length - name.length;
|
let spaceLength = parts[0].length - name.length;
|
||||||
let spaces = " ".repeat(spaceLength);
|
let spaces = " ".repeat(spaceLength);
|
||||||
//console.log("Variable. name/spaceL/parts:", name, spaceLength, parts);
|
|
||||||
return `${spaces}var ${name}: ${type} { get }`;
|
return `${spaces}var ${name}: ${type} { get }`;
|
||||||
}
|
}
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func memoryItemPositions(c: Context) -> Position[] {
|
||||||
|
// var pos: Position[] = []
|
||||||
|
|
||||||
|
function typeArrayReplace(line) {
|
||||||
|
let parts = line.split(" ");
|
||||||
|
for (var i in parts) {
|
||||||
|
let part = parts[i];
|
||||||
|
if (
|
||||||
|
part != "[]" &&
|
||||||
|
part.endsWith("[]")
|
||||||
|
) {
|
||||||
|
let type = part.substring(0, part.length - 2)
|
||||||
|
let swiftType = `[${type}]`;
|
||||||
|
return line.replace(part, swiftType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return line;
|
||||||
|
}
|
||||||
|
|||||||
27
будущее
27
будущее
@@ -1,25 +1,10 @@
|
|||||||
08.06: 19:30-
|
|
||||||
|
|
||||||
* перейти на один файл ts
|
|
||||||
* перейти на один файл js
|
|
||||||
* оставить в файле ts лишь interfaces
|
|
||||||
* ввести внешние функции создания экземпляров интерфейсов в js
|
|
||||||
* web/platform.js
|
|
||||||
|
|
||||||
НАДО:
|
НАДО:
|
||||||
|
* конвертировать for loop
|
||||||
|
* конвертить Math.floor
|
||||||
* перейти на один файл swift
|
* перейти на один файл swift
|
||||||
* генерить по одному файлу в shared
|
|
||||||
* в проектах ссылаться по одному файлу
|
|
||||||
* исправить ошибку tsc: cannot find name
|
|
||||||
* в shared помещать лишь функции и интерфейсы без объявления типов
|
|
||||||
* ибо дофига работы
|
|
||||||
* генерить class в Swift?
|
|
||||||
* нет struct, к сожалению
|
|
||||||
* может, стоит остановиться и на протоколах/интерфейсах?
|
|
||||||
* генерить memoryItemPositions.swift
|
* генерить memoryItemPositions.swift
|
||||||
* генерить библиотеку на основе иных replacements
|
* ввести общую библиотеку?
|
||||||
* ввести общую библиотеку
|
|
||||||
* генерить itemPositions
|
* в конце: разделить функции на разные файлы
|
||||||
* оптимизация
|
* будет ошибка tsc: cannot find name, так что придётся покумекать
|
||||||
* разделить функции на разные файлы
|
|
||||||
* будет ошибка tsc: cannot find name
|
|
||||||
|
|||||||
18
прошлое
18
прошлое
@@ -1,3 +1,21 @@
|
|||||||
|
08.06: 30
|
||||||
|
|
||||||
|
* перейти на один файл ts
|
||||||
|
* перейти на один файл js
|
||||||
|
* оставить в файле ts лишь interfaces
|
||||||
|
* ввести внешние функции создания экземпляров интерфейсов в js
|
||||||
|
* web/platform.js
|
||||||
|
* конвертировать Position[]
|
||||||
|
* генерить по одному файлу в shared
|
||||||
|
* в проектах ссылаться по одному файлу
|
||||||
|
* исправить ошибку tsc: cannot find name
|
||||||
|
* в shared помещать лишь функции и интерфейсы без объявления типов
|
||||||
|
* ибо дофига работы
|
||||||
|
* генерить class в Swift?
|
||||||
|
* нет struct, к сожалению
|
||||||
|
* может, стоит остановиться и на протоколах/интерфейсах?
|
||||||
|
* да
|
||||||
|
|
||||||
06.06: 25
|
06.06: 25
|
||||||
|
|
||||||
* починить ^M
|
* починить ^M
|
||||||
|
|||||||
Reference in New Issue
Block a user