Τι είναι ένα αρχείο ICI;
Μια γλώσσα προγραμματισμού γενικής χρήσης που ερμηνεύεται και περιέχει πολλά χαρακτηριστικά, όπως η δυναμική πληκτρολόγηση μαζί με τους ευέλικτους τύπους δεδομένων, είναι γνωστή ως γλώσσα προγραμματισμού ICI (όχι ακρωνύμιο). Θεωρείται ότι είναι παρόμοια με τη γλώσσα Perl. Αυτή η γλώσσα ICI περιλαμβάνει κατασκευές ελέγχου ροής και περιέχει επίσης ορισμένους τελεστές της γλώσσας C. Δεν είναι μια αντικειμενοστραφή γλώσσα, αλλά μερικά από τα χαρακτηριστικά της OOP μπορούν να επιτευχθούν με μια συγκεκριμένη μέθοδο κληρονομικότητας γνωστή ως υπερδομές. Παρόμοια με το C, αυτή η γλώσσα προγραμματισμού ICI έχει την ίδια διεπαφή συστήματος και μια τυπική βιβλιοθήκη για ενσωματωμένες λειτουργίες.
Σύντομη Ιστορία
Στα τέλη της δεκαετίας του 1980, αναπτύχθηκε από τον Tim Long ως γλώσσα προγραμματισμού γενικής χρήσης. Τα περισσότερα από τα χαρακτηριστικά αυτής της γλώσσας είναι παρόμοια με τη C και μπορεί επίσης να επιτύχει ορισμένα από τα χαρακτηριστικά με την εφαρμογή ορισμένων ειδικών μεθόδων. Αυτή η γλώσσα ανήκει ως δημόσιος τομέας και είναι διαθέσιμη ως γλώσσα με δυνατότητα μεταπώλησης και κανείς δεν είναι υποχρεωμένος να αναφέρει από πού πήρε τον πηγαίο κώδικα. Η τεκμηρίωση της ICI υπόκειται στα πνευματικά δικαιώματα της Canon Information System Research Australia.
Τεχνική προδιαγραφή
Υπάρχουν δύο διαφορετικοί τύποι δεδομένων που χρησιμοποιούνται σε αυτήν τη γλώσσα. Αυτοί οι δύο είναι τύποι δεδομένων Primitive και Aggregate. Και τα δύο περιλαμβάνουν διαφορετικές εκφράσεις σύμφωνα με την προκαθορισμένη σύνθεσή τους στη γλώσσα. Διαφορετικές μονάδες, όπως ένθετες και υπορουτίνες υποστηρίζονται από αυτήν τη γλώσσα. Καθώς ορισμένες από τις ιδιότητές του είναι παρόμοιες με την Perl, έχει αυστηρή ενοποίηση με τις κανονικές εκφράσεις.
Τα σύνολα περιορίζονται να είναι ετερογενή και ένθετα. Αυτά τα σύνολα παρέχουν υποστήριξη για κοινώς χρησιμοποιούμενες λειτουργίες συνόλων όπως η Ένωση και η διασταύρωση κ.λπ. Χρησιμοποιείται κυρίως ως γλώσσα για χάρη της βασικής υλοποίησης για εφαρμογές που ανήκουν σε πολυεθνικούς οργανισμούς.
Σχεδόν όλοι οι τύποι προγραμμάτων μπορούν να γραφτούν σε αυτή τη γλώσσα και κυρίως τα συγκεκριμένα προγράμματα που περιλαμβάνουν πολύπλοκες δομές δεδομένων είναι γραμμένα στη γλώσσα προγραμματισμού ICI. Οι εφαρμογές μπορούν να περιλαμβάνουν την υλοποίηση του ICI με τρόπο που θα πρέπει να γράφονται σε αυτό. Λειτουργικά τμήματα της εφαρμογής μπορούν να υλοποιηθούν από τις ενότητες του ICI. Η γλώσσα του ICI μοιάζει κάπως με τη γλώσσα C, αλλά το μοντέλο δεδομένων του ICI είναι αρκετά υψηλότερου επιπέδου και διαφορετικό με τύπους όπως λεξικά (struct), σύνολα, δυναμικούς πίνακες, κανονικές εκφράσεις και (πραγματικές) συμβολοσειρές.
Παράδειγμα μορφής αρχείου ICI
printf("Hello world.\n");
s = [set 200, 300, "a string"];
if (s[200])
printf("200 is in the set\n");
if (s[400])
printf("400 is in the set\n");
if (s["a string"])
printf("\"a string\" is in the set\n");
s[200] = 0;
if (s[200])
printf("200 is in the set\n");
forall (colour in [array "red", "green", "blue"])
printf("%s\n", colour);