#noindex [[언어학,linguistics]] [[natural_language]] '''자연어, 자연언어,''' [[WtEn:natural_language]] = https://en.wiktionary.org/wiki/natural_language //위아래서로관계mk// [[형식언어,formal_language]] { MKLINK [[formalized_language]]와? { https://encyclopediaofmath.org/wiki/Formalized_language [[형식화,formalization]] [[언어,language]] } [[형식체계,formal_system]] [[형식문법,formal_grammar]] - [[문법,grammar]] [[프로그래밍언어,programming_language]] https://encyclopediaofmath.org/wiki/Formal_language Up: [[형식,form]] [[언어,language]] } [[query_language]] WtEn:query_language SQL WtEn:SQL etc. QQQ 이건 [[형식언어,formal_language]]인가 아닌가? 문법이 있고 거기에 벗어나면 invalid라면 .... 근데 좀 less strict한 QL도 있을 듯 한데...? Ggl:"자연어 질의 언어" 같은것도 있을 듯 싶고 Up: [[query]]([[질의,query]]가 무난? NdEn:query Ndict:query ) [[언어,language]] WtEn:query_language WpSp:Query_language WpEn:Query_language NdEn:query Ndict:query pagename? RR: 질의어,query_language ? 문법 grammar와 syntax의 차이는? [[문법,grammar]] - [[형식문법,formal_grammar]] [[문법,syntax]] .... [[구문,syntax]]? [[단어,word]] { https://encyclopediaofmath.org/wiki/Word } rel [[알파벳,alphabet]] from [[https://terms.naver.com/entry.naver?docId=3338068&cid=47324&categoryId=47324 수학백과: 순서쌍]] 4. 언어 { [[기호,symbol]]s들의 [[집합,set]]이 [[알파벳,alphabet]]이며, 알파벳의 유한 개의 [[순서쌍,ordered_pair]]''(curr [[튜플,tuple]])''을 '''단어,word'''라 한다. 이 용어를 사용할 때에는 (i.e. 순서쌍이 아닌 단어란 용어를 쓸 때에는) 다중순서쌍 (a,,1,,, …, a,,n,,) 을 그냥 a,,1,, … a,,n,, 으로 나타낸다. ''i.e. ordered pair와 word는 본질은 같고 [[표기법,notation]] 차이.'' ||ordered n-pair, n-tuple ||(a,,1,,, …, a,,n,,) || ||word (of length n) ||a,,1,, … a,,n,, || 단어는 그 [[길이,length]]로 구분할 수 있는데, 길이가 n인 단어들 전체의 집합을 A^^n^^ 으로 나타낸다. 따라서 모든 단어들의 집합은 다음과 같다. A^^*^^ := A^^1^^ ∪ A^^2^^ ∪ A^^3^^ ∪ … 저자에 따라 길이가 0인 공단어''(수학백과 링크는 [[공집합,empty_set]])'' ∅도 단어로 본다. (띄어쓰기 같은, 아무 형태가 없는 기호를 사용하기도 한다) 이 때는 모든 단어들의 집합은 다음과 같다. A^^*^^ := A^^0^^ ∪ A^^1^^ ∪ A^^2^^ ∪ A^^3^^ ∪ … __(단어들의 합성)__ 단어를 합성([[합성,composition]]?[[합성,synthesis]]? concatenation? 영어?)하여 새로운 단어를 얻을 수 있다. (...) 단어들을 합성하는 함수 A^^m^^ × A^^n^^ → A^^m+n^^ (w, u) ↦ wu 는 [[결합법칙,associativity]]을 만족시킨다. 또 공단어는 [[항등원,identity_element]] 역할을 한다. (mk page [[공단어,empty_word]]? { cmp [[공문자열,empty_string]] }) __(언어와 문법)__ (여기서 말하는 건 좁은 뜻의 언어) (형식언어?) 알파벳 A를 사용하는 [[언어,language]]란, 모든 단어들의 집합 A^^*^^의 한 [[부분집합,subset]] L을 뜻한다. 이 때 L을 서술하는 '효과적인 과정'을 [[문법,grammar]]이라고 한다. [[형식체계,formal_system]]도 언어를 사용한다. } [[알파벳,alphabet]] { https://encyclopediaofmath.org/wiki/Alphabet } [[기호,symbol]]들의 유한 집합? letter 들의? { https://encyclopediaofmath.org/wiki/Letter } from [[https://terms.naver.com/entry.naver?docId=3338068&cid=47324&categoryId=47324 수학백과: 순서쌍]] 4. 언어 { [[기호,symbol]]들의 [[집합,set]]을 '''알파벳'''이라고 한다. '''알파벳'''의 유한 개의 [[순서쌍,ordered_pair]]을 [[단어,word]]라 한다. } // alphabet 문자열 or 스트링 string [[문장,sentence]] (curr see [[RR:품사pumsa]], [[RR:논리학,logic#s-2]]) [[명제,proposition]]는 문장의 일종? 방언, 사투리, dialect [[번역,translation]] ---- 컴퓨터 언어의 구분 일단 [[레벨,level]]에 따라, // 다른분류들 추가TODO 상위언어 high-level language 하위언어 low-level language 대체적으로, 상위언어는 사람들이 읽고 쓰기 편한 언어, 하위언어는 컴퓨터가 이해하는 언어, 기계어. // machine_language or machine_code 상층부 언어는 그 아래 언어로 번역된다 - translation, compilation. 그 번역기는 (보통) [[컴파일러,compiler]]. 기타 [[어셈블러,assembler]] 등 * ↑인간적 * pseudocode * PL statement * assembly language statement * machine code / machine language * ↓기계적 ---- ADD: [[기계어,machine_language]] - language보다는 instruction? { or machine_code ? http://foldoc.org/machine+language redir to http://foldoc.org/machine+code 사실 이건 language보다는 code가 더 어울리는? 아무튼 language code instruction 셋 다 가능... topix: opcode op_code operation_code mnemonics 의 일종.. ( http://foldoc.org/instruction+mnemonic ) e.g. add, jump/branch, load, store http://foldoc.org/operation+code operand - [[parameter]] 의 일종 ? [[레지스터,register]], [[주소,address]], .... http://foldoc.org/operand - [[argument]] 근데 저 사이트에서 parameter vs argument 가 어떻게되던가 chk - 저기선 argument를 formal_argument = parameter ( http://foldoc.org/formal+argument ), actual_argument ( http://foldoc.org/actual+argument ) 로 분류 - see also http://foldoc.org/argument - note that http://foldoc.org/parameter redir. to formal argument rel. mklink: instruction - opcode , operand 로 구성? instruction_set [[명령어집합,instruction_set]] http://foldoc.org/instruction+set instruction_set_architecture ISA http://foldoc.org/instruction+set+architecture mkl [[컴퓨터구조,computer_architecture]] [[프로세서,processor]] or [[마이크로프로세서,microprocessor]] n.b. http://foldoc.org/processor redir. to central processing unit http://foldoc.org/microprocessor CPU central_processing_unit http://foldoc.org/central+processing+unit mkl [[컴퓨터구조,computer_architecture]] microcode http://foldoc.org/microcode [[마이크로코드,microcode]]? Ndict:microcode } [[DSL,domain_specific_language]] // 특정영역에서... Up: [[영역,domain]]? [[마크다운,Markdown]] HLSL UML XML SQL ## from https://terms.naver.com/entry.naver?docId=2073348&cid=44414&categoryId=44414&expCategoryId=44414 [[어셈블리,assembly]]??? or [[어셈블리어,assembly_language]] { [[어셈블러,assembler]] { http://foldoc.org/assembler (short) } 공개 서적 초보자를 위한 PC 어셈블리어 (PC Assembly Language) 한국어번역 pdf 지은이 : Paul A. Carter 번역자 : 이재범 2006년 7월 23일 https://kevin0960.tistory.com/entry/초보자를-위한-PC-어셈블리어-PC-Assembly-Language 보유서적 IBM PC 어셈블리 프로그래밍 5판 Peter Abel [[ISBN(8970855130)]] http://foldoc.org/assembly+language - aka assembly_code { A symbolic representation of the [[기계어,machine_language]] of a specific processor. } } Sub: [[자연어,natural_language]] vs [[인공어,artificial_language]] 자연어처리 [[자연어처리,natural_language_processing,NLP]] [[형식언어,formal_language]] [[마크업언어,markup_language]] [[HTML,hypertext_markup_language]] [[SGML,standard_generalized_markup_language]] [[XML,extensible_markup_language]] [[제이슨,JSON]]? 가벼운마크업언어 경량마크업언어 [[lightweight_markup_language]] LML - blog/forum/wiki markup에 쓰이는. Markdown, reStructuredText, BBCode, 각종 wiki_syntax, ... WpKo:가벼운_마크업_언어 WpEn:Lightweight_markup_language [[기술언어,description_language]] - for [[기술,description]] WtEn:description_language [[하드웨어기술언어,hardware_description_language,HDL]] - for [[하드웨어,hardware]] stylesheet_language WtEn:stylesheet_language [[CSS,cascading_style_sheet]] or stylesheet? [[프로그래밍언어,programming_language,PL]] or [[PL,programming_language]] - ''PL을 명시할지 말지 TBD'' ''이것들 일단 이렇게 만드는데, 혹시 문제가 생긴다면 별도 namespace에 분류할지, _PL이나 _programming_language나 _language 같은 suffix를 붙일지 pagename scheme TBD.'' [[파이썬,Python]] [[피에이치피,PHP]] or [[PHP_Hypertext_Preprocessor]] [[루비,Ruby]] [[펄,Perl]] [[자바,Java]] [[루아,Lua]] [[씨샵,CSharp]]? [[씨플플,CPP]]? [[씨,C]]? ...[[C언어,C_language]]? [[에이피엘,APL]]? [[제이,J]]? [[비큐엔,BQN]]? // 위 셋 비교 : Ggl:"APL J BQN" [[알,R]]? [[파스칼,Pascal]] [[에이다,Ada]] [[고,Go]] [[프롤로그,Prolog]] [[러스트,Rust]] [[스몰토크,Smalltalk]] [[오브젝티브씨,Objective-C]]? 엘릭서? 일릭서? Elixir 줄리아? Julia [[하스켈,Haskell]] ... [[package_manager]]가 언어를 가진 경우도. Nix language Ggl:"nix language" ... /// PL design https://proglangdesign.net/wiki/ https://www.pls-lab.org/ [[WpEn:Programming_language_design_and_implementation]] [[인터프리터,interpreter]] 해석기? { [[WpKo:인터프리터]] [[WpEn:Interpreter_(computing)]] } [[컴파일러,compiler]] - [[컴파일,compile]] lexer [[파서,parser]] [[어셈블러,assembler]] /// PL theory 책: Practical Foundations for Programming Languages (PFPL) Robert Harper https://www.pls-lab.org/en/pfpl [[WpEn:Programming_language_theory]] Up: 설계/디자인 design artificial_language , constructed_language (conlang) // WtEn:artificial_language WtEn:constructed_language Esperanto, Ido, Interlingua, [[메타언어,metalanguage]] { WtEn:metalanguage https://foldoc.org/metalanguage } [[번역,translation]] 관련: [[컴파일러,compiler]] [[인터프리터,interpreter]] [[어셈블러,assembler]] [[링커,linker]] 언어모델 [[language_model]] or [[언어모형,language_model]] - writing ... Google:language.model ---- Twins: https://planetmath.org/language http://www.scholarpedia.org/article/Language 를 보면 알수있듯 이 페이지도 [[언어학,linguistics]]의 언어, [[컴퓨터언어,computer_language]], [[형식언어,formal_language]], ...로 분류 or disambig 필요