macho programming with man pages
play

Macho: Programming With Man Pages Anthony Cozzie, Murph - PowerPoint PPT Presentation

Macho: Programming With Man Pages Anthony Cozzie, Murph Finnicum, Sam King University of Illinois at Urbana-Champaign Programming is hard! Lots of


  1. Macho: ¡ Programming ¡ With ¡Man ¡Pages ¡ Anthony ¡Cozzie, ¡Murph ¡Finnicum, ¡Sam ¡King ¡ University ¡of ¡Illinois ¡at ¡Urbana-­‑Champaign ¡

  2. Programming ¡is ¡hard! ¡

  3. Lots ¡of ¡Automated ¡Tools ¡

  4. AutomaGng ¡Programming ¡

  5. Macho ¡Architecture ¡ Raw ¡ Requested ¡ Candidate ¡ SoluGons ¡ Code ¡Snippets ¡ Text ¡ ComputaGon ¡ Programs ¡ NL ¡parsing ¡ Database ¡ SGtching ¡ Debugger ¡ RunGme ¡Feedback ¡

  6. The ¡Trick ¡ NL ¡parsing ¡ Database ¡ SGtching ¡ Debugger ¡

  7. Examples! ¡

  8. The ¡Example ¡(LS) ¡ Print ¡the ¡names ¡of ¡files ¡in ¡a ¡ directory. ¡Sort ¡the ¡names. ¡

  9. Extract ¡Implied ¡ComputaGon ¡ directory ¡-­‑> ¡files ¡ Print ¡the ¡names ¡of ¡ files ¡-­‑> ¡names ¡ files ¡in ¡a ¡directory. ¡ print(names) ¡ Sort ¡names. ¡ sort(names) ¡

  10. Use ¡Programmer’s ¡Labels ¡ public static void main(String[] args) { .... //first (original) database files = directory.listFiles(); .... }

  11. Input ¡to ¡Synthesis: ¡LS1 ¡ public static void Ls1(java.lang.String p_directory) { java.io.File tmp = new File(p_directory); java.io.File[] files = tmp.listFiles(); int tmp_0 = files.length; java.lang.String[] tmp_1 = new java.lang.String[tmp_0]; for(int tmp_3 = 0; tmp_3 < files.length; ++tmp_3) { java.io.File tmp_2 = files[tmp_3]; java.lang.String names = tmp_2.getName(); tmp_1[tmp_3] = names; } Arrays.sort(tmp_1); for(int tmp_5 = 0; tmp_5 < tmp_1.length; ++tmp_5) { java.lang.String tmp_4 = tmp_1[tmp_5]; System.out.println(tmp_4); } }

  12. Bugs! ¡

  13. Synthesized ¡Version ¡of ¡LS ¡ public static void Ls3(String p_dir) { java.io.File tmp = new File(p_dir); java.io.File[] files = tmp.listFiles(); boolean tmp_3 = tmp.isDirectory(); if(tmp_3) { Arrays.sort(files); for(int tmp_1 = 0; tmp_1 < files.length; ++tmp_1) { java.io.File tmp_0 = files[tmp_1]; java.lang.String names = tmp_0.getName(); boolean tmp_2 = tmp_0.isHidden(); if(!tmp_2) System.out.println(names); } } else System.out.println(tmp + ""); }

  14. Pure ¡NL ¡Spec ¡ Take the path "/home/zerocool/" If the path is a file, print it. Otherwise get the list of files in the directory. Sort the result alphabetically. Go over the result from the beginning to the end: If the current element's filename does not begin with ".", print it.

  15. Macho ¡ Print the names of files in a directory. Sort the names. + simple example

  16. Input ¡Synergy ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend