Presentation is loading. Please wait.

Presentation is loading. Please wait.

LING/C SC/PSYC 438/538 Lecture 5 Sandiway Fong.

Similar presentations


Presentation on theme: "LING/C SC/PSYC 438/538 Lecture 5 Sandiway Fong."— Presentation transcript:

1 LING/C SC/PSYC 438/538 Lecture 5 Sandiway Fong

2 Today’s Topics Sorting: Homework 4 Review More Perl:
fc (fold case), hash sort Homework 4 Review More Perl: Implicit Coercion Conditionals Loops On Thursday: Homework 5 first programming homework

3 Last Time: Arrays: insertion and deletion from the ends
Generalized form: shift/unshift 1 2 n-2 n-1 pop/push Perl functions may have side effects and also return values Good ex: print "a", "\n";

4 Perl Arrays Sorting: {$a cmp $b} {$a <=> $b}
default (ASCII table order) {$a <=> $b} numeric flip $a $b for reverse order enable function fc for Unicode casefolding

5 Handling characters beyond ASCII …
Unicode encoding (utf-8)

6 Handling characters beyond ASCII …
Note: open pragma most general solution

7 Perl Hashes Sorting with a hash Usage:
sort byage keys %age Let's sort fruits by color, ascending, descending…

8 Homework 4 Review Relevant tags: Stanford Parser: I made her duck
Phrasal: S Sentence; NP Noun Phrase; VP Verb Phrase Part of Speech (POS): PRP Personal Pronoun; VBD Verb Past; PRP$ Possessive Personal Pronoun; NN Common Noun; . . Dependency links: nsubj; nmod:poss; dobj

9 Homework 4 Review Lisp S-EXP syntax: Tree representation:

10 Homework 4 Review ❌? cf. I baked [ John] [a cake] ❌ Verb: duck
❌ Ditransitive verb: duck

11 Homework 4 Review Winograd’s SHRDLU system: Tree Representation:
Move the red block on top of the smaller green one Tree Representation: PP modifies VP (not NP)

12 Homework 4 Review Another interpretation: Stanford parse:

13 Homework 4 Review

14 Implicit Coercion Example: Example:
Perl features implicit coercion of data types Example: the following program prints Equal! == is the numeric equality comparison operator my $one_string = "1"; my $one_number = 1; if ($one_string == $one_number) { print "Equal!\n" } else { print "Different!\n" } Example: the following program prints 3 is my number . is the string concatenation operator = qw(one, two, three); my $string is my number"; print "$string\n";

15 Implicit Coercion print "4" * 4 16
print "4" x 4 (“x” is the repetition operator) 4444 @a = (4) x 4 (in list context) (4, 4, 4, 4)

16 Conditionals and Looping
if < 10 ) { print “Small array\n” } else {print “Big array\n” } here is a scalar = size of array unless > 10) { print } Note: if size of array a is ≤ 10, it prints the contents of array a

17 Conditionals and Looping

18 Conditionals and Looping
Looping over arrays %fruits = qw(apple green orange orange lemon yellow); foreach $f (keys %fruits) { print $f, " => ", $fruits{$f}, "\n” } gives output: lemon => yellow apple => green orange => orange Note: keys %fruits = ("lemon", "apple", "orange") is an array

19 ARGV Command line: perl argv.perl 1 2 3

20 General Looping


Download ppt "LING/C SC/PSYC 438/538 Lecture 5 Sandiway Fong."

Similar presentations


Ads by Google