Browse Source

use pyi instaed of py for C moudle

lyon 3 years ago
parent
commit
8df290da3f
44 changed files with 20 additions and 13 deletions
  1. 1 1
      bsp/SmartLoong/requestment.txt
  2. 1 1
      bsp/ch32v103r8/PikaScript/requestment.txt
  3. 0 0
      package/Arm2D/Arm2D.pyi
  4. 0 0
      package/CH32V103/CH32V103.pyi
  5. 0 0
      package/CH582/CH582.pyi
  6. 0 0
      package/PikaMath/PikaMath.pyi
  7. 0 0
      package/PikaPiZero/PikaPiZero.pyi
  8. 0 0
      package/PikaStdDevice/PikaStdDevice.pyi
  9. 0 0
      package/PikaStdLib/PikaDebug.pyi
  10. 0 0
      package/PikaStdLib/PikaStdData.pyi
  11. 0 0
      package/PikaStdLib/PikaStdLib.pyi
  12. 0 0
      package/PikaStdLib/PikaStdTask.pyi
  13. 0 0
      package/PikaVSF/PikaVSF.pyi
  14. 0 0
      package/STM32F1/STM32F1.pyi
  15. 0 0
      package/STM32F4/STM32F4.pyi
  16. 0 0
      package/STM32G0/STM32G0.pyi
  17. 0 0
      package/SmartLoong/SmartLoong.pyi
  18. 0 0
      package/W801Device/W801Device.pyi
  19. 0 0
      package/ctypes/ctypes.pyi
  20. 0 0
      package/pikaRTDevice/pikaRTDevice.pyi
  21. 0 0
      package/pikaRTThread/pikaRTThread.pyi
  22. 0 0
      port/linux/package/pikascript/GTestTask.pyi
  23. 0 0
      port/linux/package/pikascript/PikaDebug.pyi
  24. 0 0
      port/linux/package/pikascript/PikaMath.pyi
  25. 0 0
      port/linux/package/pikascript/PikaObj.pyi
  26. 0 0
      port/linux/package/pikascript/PikaStdData.pyi
  27. 0 0
      port/linux/package/pikascript/PikaStdDevice.pyi
  28. 0 0
      port/linux/package/pikascript/PikaStdLib.pyi
  29. 0 0
      port/linux/package/pikascript/PikaStdTask.pyi
  30. 0 0
      port/linux/package/pikascript/ctypes.pyi
  31. 0 0
      src/PikaObj.pyi
  32. 0 0
      tools/pikaCompiler/Arm2D.pyi
  33. 0 0
      tools/pikaCompiler/PikaDebug.pyi
  34. 0 0
      tools/pikaCompiler/PikaObj.pyi
  35. 0 0
      tools/pikaCompiler/PikaStdData.pyi
  36. 0 0
      tools/pikaCompiler/PikaStdDevice.pyi
  37. 0 0
      tools/pikaCompiler/PikaStdLib.pyi
  38. 0 0
      tools/pikaCompiler/PikaStdTask.pyi
  39. 0 0
      tools/pikaCompiler/PyInfo.pyi
  40. 3 3
      tools/pikaCompiler/application.pyi
  41. 1 1
      tools/pikaCompiler/src/class_info.rs
  42. 12 5
      tools/pikaCompiler/src/compiler.rs
  43. 1 1
      tools/pikaCompiler/src/main.rs
  44. 1 1
      tools/pikaCompiler/src/version_info.rs

+ 1 - 1
bsp/SmartLoong/requestment.txt

@@ -1,4 +1,4 @@
 pikascript-core==v1.2.9
 PikaStdLib==v1.2.5
 pikaRTThread==v1.1.0
-SmartLoong==latest
+SmartLoong==v0.0.1

+ 1 - 1
bsp/ch32v103r8/PikaScript/requestment.txt

@@ -1,4 +1,4 @@
 pikascript-core==v1.1.1
 PikaStdLib==v1.1.0
 PikaStdDevice==v1.4.1
-CH32V103==latest
+CH32V103==v1.0.0

+ 0 - 0
package/Arm2D/Arm2D.py → package/Arm2D/Arm2D.pyi


+ 0 - 0
package/CH32V103/CH32V103.py → package/CH32V103/CH32V103.pyi


+ 0 - 0
package/CH582/CH582.py → package/CH582/CH582.pyi


+ 0 - 0
package/PikaMath/PikaMath.py → package/PikaMath/PikaMath.pyi


+ 0 - 0
package/PikaPiZero/PikaPiZero.py → package/PikaPiZero/PikaPiZero.pyi


+ 0 - 0
package/PikaStdDevice/PikaStdDevice.py → package/PikaStdDevice/PikaStdDevice.pyi


+ 0 - 0
package/PikaStdLib/PikaDebug.py → package/PikaStdLib/PikaDebug.pyi


+ 0 - 0
package/PikaStdLib/PikaStdData.py → package/PikaStdLib/PikaStdData.pyi


+ 0 - 0
package/PikaStdLib/PikaStdLib.py → package/PikaStdLib/PikaStdLib.pyi


+ 0 - 0
package/PikaStdLib/PikaStdTask.py → package/PikaStdLib/PikaStdTask.pyi


+ 0 - 0
package/PikaVSF/PikaVSF.py → package/PikaVSF/PikaVSF.pyi


+ 0 - 0
package/STM32F1/STM32F1.py → package/STM32F1/STM32F1.pyi


+ 0 - 0
package/STM32F4/STM32F4.py → package/STM32F4/STM32F4.pyi


+ 0 - 0
package/STM32G0/STM32G0.py → package/STM32G0/STM32G0.pyi


+ 0 - 0
package/SmartLoong/SmartLoong.py → package/SmartLoong/SmartLoong.pyi


+ 0 - 0
package/W801Device/W801Device.py → package/W801Device/W801Device.pyi


+ 0 - 0
package/ctypes/ctypes.py → package/ctypes/ctypes.pyi


+ 0 - 0
package/pikaRTDevice/pikaRTDevice.py → package/pikaRTDevice/pikaRTDevice.pyi


+ 0 - 0
package/pikaRTThread/pikaRTThread.py → package/pikaRTThread/pikaRTThread.pyi


+ 0 - 0
port/linux/package/pikascript/GTestTask.py → port/linux/package/pikascript/GTestTask.pyi


+ 0 - 0
port/linux/package/pikascript/PikaDebug.py → port/linux/package/pikascript/PikaDebug.pyi


+ 0 - 0
port/linux/package/pikascript/PikaMath.py → port/linux/package/pikascript/PikaMath.pyi


+ 0 - 0
port/linux/package/pikascript/PikaObj.py → port/linux/package/pikascript/PikaObj.pyi


+ 0 - 0
port/linux/package/pikascript/PikaStdData.py → port/linux/package/pikascript/PikaStdData.pyi


+ 0 - 0
port/linux/package/pikascript/PikaStdDevice.py → port/linux/package/pikascript/PikaStdDevice.pyi


+ 0 - 0
port/linux/package/pikascript/PikaStdLib.py → port/linux/package/pikascript/PikaStdLib.pyi


+ 0 - 0
port/linux/package/pikascript/PikaStdTask.py → port/linux/package/pikascript/PikaStdTask.pyi


+ 0 - 0
port/linux/package/pikascript/ctypes.py → port/linux/package/pikascript/ctypes.pyi


+ 0 - 0
src/PikaObj.py → src/PikaObj.pyi


+ 0 - 0
tools/pikaCompiler/Arm2D.py → tools/pikaCompiler/Arm2D.pyi


+ 0 - 0
tools/pikaCompiler/PikaDebug.py → tools/pikaCompiler/PikaDebug.pyi


+ 0 - 0
tools/pikaCompiler/PikaObj.py → tools/pikaCompiler/PikaObj.pyi


+ 0 - 0
tools/pikaCompiler/PikaStdData.py → tools/pikaCompiler/PikaStdData.pyi


+ 0 - 0
tools/pikaCompiler/PikaStdDevice.py → tools/pikaCompiler/PikaStdDevice.pyi


+ 0 - 0
tools/pikaCompiler/PikaStdLib.py → tools/pikaCompiler/PikaStdLib.pyi


+ 0 - 0
tools/pikaCompiler/PikaStdTask.py → tools/pikaCompiler/PikaStdTask.pyi


+ 0 - 0
tools/pikaCompiler/PyInfo.py → tools/pikaCompiler/PyInfo.pyi


+ 3 - 3
tools/pikaCompiler/application.py → tools/pikaCompiler/application.pyi

@@ -5,9 +5,9 @@ import PikaStdLib
 from PikaObj import *
 
 class Compiler(PikaStdLib.SysObj):
-    obj = PyInfo.PyObj()
-    PyInfo.PyMethod()
-    PyInfo.PyClass()
+    obj = PyInfo.pyiObj()
+    PyInfo.pyiMethod()
+    PyInfo.pyiClass()
     line = Arm2D.Line()
 
     def build(pythonApiPath: str, outputPath: str) -> int:

+ 1 - 1
tools/pikaCompiler/src/class_info.rs

@@ -145,7 +145,7 @@ impl ClassInfo {
         );
         /* create the root object */
         script_fn.push_str("    __pikaMain = newRootObj(\"pikaMain\", New_PikaMain);\r\n");
-        /* use obj_run to run the script in main.py */
+        /* use obj_run to run the script in main.pyi */
         script_fn.push_str("    obj_run(__pikaMain,\n");
         /* get the origin script content */
         let script_content_origin = String::from(&self.script_list.content);

+ 12 - 5
tools/pikaCompiler/src/compiler.rs

@@ -76,12 +76,17 @@ impl Compiler {
 
     pub fn __do_analize_file(mut self: Compiler, file_name: String, is_top_pkg: bool) -> Compiler {
         /* open file */
-        let file = Compiler::open_file(format!("{}{}.py", self.source_path, file_name));
+        let file: std::result::Result<std::fs::File, std::io::Error>;
+        if file_name == "main" {
+            file = Compiler::open_file(format!("{}main.py", self.source_path));
+        } else {
+            file = Compiler::open_file(format!("{}{}.pyi", self.source_path, file_name));
+        }
         let mut file = match file {
             Ok(file) => file,
             Err(_) => {
                 println!(
-                    "    [warning]: file: '{}{}.py' no found",
+                    "    [warning]: file: '{}{}.pyi' no found",
                     self.source_path, file_name
                 );
                 return self;
@@ -106,13 +111,15 @@ impl Compiler {
 
         /* check if compiled */
         if self.compiled_list.contains(&file_name) {
-        } else {
+        } else if file_name == "main" {
             println!("    compiling {}{}.py...", self.source_path, file_name);
+        } else {
+            println!("    compiling {}{}.pyi...", self.source_path, file_name);
         }
         self.compiled_list.push_back(String::clone(&file_name));
         /* solve top package.
             About what is top package:
-                Top package is the package imported by main.py,
+                Top package is the package imported by main.pyi,
                 and can be used to new objcet in runtime.
                 So the each classes of top package are loaded to flash.
             The top package is solved as an static object, and each calsses
@@ -133,7 +140,7 @@ impl Compiler {
             self.package_now_name = Some(package_name.clone());
         }
         let lines: Vec<&str> = file_str.split('\n').collect();
-        /* analyze each line of pikascript-api.py */
+        /* analyze each line of pikascript-api.pyi */
         for line in lines.iter() {
             self = Compiler::analyze_line(self, line.to_string(), &file_name, is_top_pkg);
         }

+ 1 - 1
tools/pikaCompiler/src/main.rs

@@ -124,7 +124,7 @@ fn main() {
     f.write("#include <stdio.h>\n".as_bytes()).unwrap();
     f.write("#include <stdlib.h>\n".as_bytes()).unwrap();
     f.write("\n".as_bytes()).unwrap();
-    /* get script from main.py */
+    /* get script from main.pyi */
     let pika_main = compiler
         .class_list
         .get_mut(&"PikaMain".to_string())

+ 1 - 1
tools/pikaCompiler/src/version_info.rs

@@ -49,7 +49,7 @@ impl VersionInfo {
         let mut file_str = String::new();
         file.read_to_string(&mut file_str).unwrap();
         let lines: Vec<&str> = file_str.split('\n').collect();
-        /* analyze each line of pikascript-api.py */
+        /* analyze each line of pikascript-api.pyi */
         for line in lines.iter() {
             self = VersionInfo::analyze_line(self, line.to_string());
         }